DataFrame是Pandas中常用的数据结构,即表示矩阵的数据表,包含已排序的列集合,既有行索引又有列索引。使用前需先导入pandas(import pandas as pd)。
一、DataFrame的创建
1、利用包含等长度列表活Numpy数组的字典创建。
data={'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002,2003],
'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}
frame=pd.DataFrame(data)
可以看到创建的DataFrame如下:
2、利用嵌套字典创建
#嵌套字典方式创建,用大括号
qiantao={'Nevada':{2001:2.4,2002:2.9},
'Ohio':{2000:1.5,2001:1.7,2002:3.6}}
frame2=pd.DataFrame(qiantao)
frame2
3、 用DataFrame中原series创建
#包含series的字典创建
pdata={'Ohio':frame2['Ohio'][:-1],
'Nevada':frame2['Nevada'][:2]}
pd.DataFrame(pdata)
附:DataFrame构造函数的有效输入类型:
二、行列索引及变换
1、指定列的顺序,按顺序排列
2、如果列不在字典中,显示缺失值
3、重新定义行索引,并按顺序排列
4、检索某一列的两种方式
利用索引方式创建列(如果列不存在,会增加新列)
frame['eastern']=frame.state=='Ohio'
frame
用series创建新列,注意创建时值的长度需要匹配,否则补充NaN
val=pd.Series([1.2,-1.5,-1.7],index=[2,4,5])
frame['debt']=val
frame
5、也可以通过位置或者loc选取行,如选取第三行,用位置“2”
6、修改列引用
7、删除某列
8、矩阵转置
9、添加行列名
frame2.index.name='year'
frame2.columns.name='state'
frame2
10.values属性
三、索引对象
索引对象用于存储轴标签和其他数据,Series和DataFrame的任意数组或序列标签都可以转换为索引对象。索引对象不可变,不可修改。
我们可以先看一下之前的DataFrame的索引对象
1、存放索引对象a,b,c
obj=pd.Series(range(3),index=['a','b','c'])
index=obj.index
2、调用存放好的索引对象labels
labels=pd.Index(np.arange(3))
obj2=pd.Series([1.5,-2.5,0],index=labels)
3、索引对象可以包含重复标签
参考:Wes McKinney《利用python进行数据分析》文章来源:https://www.toymoban.com/news/detail-702952.html
、文章来源地址https://www.toymoban.com/news/detail-702952.html
到了这里,关于python入门——DataFrame创建和索引的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!