Pandas库04_DataFrame数据结构_索引与选取

import pandas as pd

data={
"name":["唐浩","小王","老王","赵三","李四"],
"sex":["男","女","男","女","男"],
"year":[37,22,15,18,33],
"city":["成都","北京","上海","成都","深圳"]
}

#DataFrame的排序sort_values(by="字段即key")
#eg:
# df1=pd.DataFrame(data)
# print(df1)
# print("_______________________-")
# df2=df1.sort_values(by="year") #只是排序了,但索引顺序没有变,
# print(df2)
# print("_______________________-")
# #我们将原索引顺序删除就行了
# df3=df2.reset_index() #重建索引,不删除原索引
# print(df3)
# df4=df2.reset_index(drop=True) #重建索引,删除了原索引
# print(df4)

#数据选取
#Series数据的选取与列表差不多,大同小异,就不多说,下面讲DataFrame,他要复杂一些

df5=pd.DataFrame(data)
# print(df5)

#选取列,有两种方式:df5["name"]或df5.name,都能获取到,返回一个Series数据列
# print(df5["name"])
# print(df5.city)
#选取多列
# print(df5[["name","city"]])
#选取列不能用切片,切片是对行操作的,不过当你选取列后的数据操作是可以切片的

#选取行,loc,iloc,ix等
# print(df5)
# df6=df5.set_index("name") #将某列设为索引标签列
# print(df6)
# print(df6.loc["唐浩"]) #通过索引标签来选取 loc["这里面必须要是索引标签,其它报错"]
# print("______________")
# print(df6.loc[["唐浩","老王"]]) #通过多个索引标签来选取
#同上,iloc[1] 这是索引位置来选取。

#高级方式,选取行和列ix
# print(df5)
# df6=df5.set_index("name")
# df6=df5.ix[:,:] #选取所有行列,ix[行,列]
# print(df6)
# df6=df5.set_index("name") 设了才能用下面这个,不设就只能用索引号
# df7=df6.ix[["唐浩","李四"],:]
# df8=df5.ix[:,["name","sex"]]
# print(df8)
# df9=df5.ix[0]
# print(df9)

######条件bool选择,相当于用值进行选择嘛,第一层得到 bool,第二层得到相关的数据
# print(df5)
# df10=df5[(df5["city"]=="成都") & (df5["sex"]=="男")]
# df10=df5[(df5["city"]=="成都") & (df5["sex"]=="男")] #相当于条件筛选了
# df11=df5[(df5["year"]>20) & (df5["sex"]=="男") &(df5["city"]=="成都")] #相当于多重条件筛选了
# print(df11)
# print(df11.sort_values("year"))

#操作行与列:即 增 、 删 、 改 、 查(选择,前面学了)
# print(df5)
"""
name sex year city
0 唐浩 男 37 成都
1 小王 女 22 北京
2 老王 男 15 上海
3 赵三 女 18 成都
4 李四 男 33 深圳
"""
#就在上面表里面操作吧

#增 新增行 df5.append(字典型数据)
# newdata={"name":"小红","sex":"女","year":20,"city":"中江"}
# df6=df5.append(newdata,ignore_index=True) #产生一个新数据,原数据不变,df5不变
# #要想改变原数据,就df5=df5.append(...)
# print(df6)
# #新增列
# df5["love"]="小狗" #为一个不存在的列名赋值就新增了一列了,但是所有数据都是相同的,
# print(df5)
# df5["wwww"]=["abc","def","abbbb","xxxxxx","dfdfsfds"] #不多不少,刚好那么多就不会报错
# print(df5)

#删除
# df8=df5.drop(1) #原数据不变,即df5没变化,drop(位置) 删除行
# print(df8)
# df9=df5.drop("year",axis=1) #axis 1为x轴找,0为y轴找。 删除列
# print(df9)

#修改,这里的修改讲的是行和列索引与列标签的修改,没讲到值修改

# df10=df5.ix[[1,2,4],:]
# print(df10)
# df11=df10.rename(index={4:3},columns={"city":"CITY"},inplace=False) #True是在原数据上修改
# print(df11)
# df11["name"][1]="小李子"
# print(df11)

原文地址:https://www.cnblogs.com/yiyea/p/11441795.html

时间: 2024-11-07 22:56:35

Pandas库04_DataFrame数据结构_索引与选取的相关文章

Pandas库06_DataFrame数据结构_汇总与统计

#这里讲演pandas的汇总与统计import numpy as npimport pandas as pd #我自己的私有函数库,我都加了t_+函数名的t_data={ "name":["唐浩","小王","老王","赵三","李四","王姐"], "sex":["男","女","男",

Pandas库05_DataFrame数据结构_运算

import pandas as pdimport numpy as np# data={# "name":["唐浩","小王","老王","赵三","李四"],# "sex":["男","女","男","女","男"],# "year":[37,2

Pandas库02_DataFrame数据结构

#DataFrame数据结构,很像二维表格数据结构,也是python中最常用的数据结构 import pandas as pdimport numpy as np #创建DataFrame数据#先给出一个字典data,我们用字典来创建data={ "name":["唐浩","小王","老王","赵三","李四"], "sex":["男","

十分钟入门pandas数据结构和索引

pandas数据结构和索引是入门pandas必学的内容,这里就详细给大家讲解一下,看完本篇文章,相信你对pandas数据结构和索引会有一个清晰的认识. 一.数据结构介绍 在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame.Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其可通过索引标签的方式获取数据,还具有索引的自动对齐功能:DataFrame类似于numpy中的二维数组,同样可以通用numpy数组的函数和方法,而且还具有其他灵

Python的Pandas库简述

pandas 是 python 的数据分析处理库import pandas as pd 1.读取CSV.TXT文件 foodinfo = pd.read_csv("pandas_study.csv", encoding = "utf-8") 2.查看前N条.后N条信息 foodinfo.head(N) foodinfo.tail(N) 3.查看数据框的格式,是DataFrame还是ndarray print(type(foodinfo)) # 结果:<clas

Pandas库中的DataFrame

1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matlab也可以用cell存放多类型数据),DataFrame的单元格可以存放数值.字符串等,这和excel表很像. 同时DataFrame可以设置列名columns与行名index,可以通过像matlab一样通过位置获取数据也可以通过列名和行名定位,具体方法在后面细说. 2 创建DataFrame 首先声

pandas库的DateFrame类型

Series是pandas库的一维数据类型,DateFrame是pandas库的二维数据类型. DateFrame类型: DateFrame类型由共用相同索引的一组列组成(DateFrame相当于一个表格),每列值类型可以不同. DateFrame既有行索引,也有列索引. DateFrame常用于表达二维数据,但可以表达多维数据. DateFrame类型可以由如下类型创建: 1.二维ndarray对象 import pandas as pd import numpy as np d = pd.D

python之pandas库

一.生成数据表 1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import pandas as pd 2.导入CSV或者xlsx文件: df = pd.DataFrame(pd.read_csv('name.csv',header=1)) df = pd.DataFrame(pd.read_excel('name.xlsx')) 3.用pandas创建数据表: df = pd.DataFrame({"id":[1001,1002,1003,1004,100

Python Pandas库的学习(三)

今天我们来继续讲解Python中的Pandas库的基本用法 那么我们如何使用pandas对数据进行排序操作呢? food.sort_values("Sodium_(mg)",inplace= True) print(food["Sodium_(mg)"]) food.sort_values("Sodium_(mg)",inplace=True,ascending= False) print(food["Sodium_(mg)"