python入门——DataFrame创建和索引

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如下:

python入门——DataFrame创建和索引_第1张图片

2、利用嵌套字典创建

#嵌套字典方式创建,用大括号
qiantao={'Nevada':{2001:2.4,2002:2.9},
        'Ohio':{2000:1.5,2001:1.7,2002:3.6}}
frame2=pd.DataFrame(qiantao)
frame2

python入门——DataFrame创建和索引_第2张图片

3、 用DataFrame中原series创建

#包含series的字典创建
pdata={'Ohio':frame2['Ohio'][:-1],
      'Nevada':frame2['Nevada'][:2]}
pd.DataFrame(pdata)

python入门——DataFrame创建和索引_第3张图片

附:DataFrame构造函数的有效输入类型: 

python入门——DataFrame创建和索引_第4张图片

 二、行列索引及变换

 1、指定列的顺序,按顺序排列

python入门——DataFrame创建和索引_第5张图片

2、如果列不在字典中,显示缺失值

python入门——DataFrame创建和索引_第6张图片

3、重新定义行索引,并按顺序排列

python入门——DataFrame创建和索引_第7张图片

4、检索某一列的两种方式

python入门——DataFrame创建和索引_第8张图片

利用索引方式创建列(如果列不存在,会增加新列)

frame['eastern']=frame.state=='Ohio'
frame

 python入门——DataFrame创建和索引_第9张图片

用series创建新列,注意创建时值的长度需要匹配,否则补充NaN

val=pd.Series([1.2,-1.5,-1.7],index=[2,4,5])
frame['debt']=val
frame

python入门——DataFrame创建和索引_第10张图片

5、也可以通过位置或者loc选取行,如选取第三行,用位置“2”

python入门——DataFrame创建和索引_第11张图片

6、修改列引用

python入门——DataFrame创建和索引_第12张图片

7、删除某列

python入门——DataFrame创建和索引_第13张图片

8、矩阵转置 

python入门——DataFrame创建和索引_第14张图片

9、添加行列名

frame2.index.name='year'
frame2.columns.name='state'
frame2

python入门——DataFrame创建和索引_第15张图片

10.values属性

python入门——DataFrame创建和索引_第16张图片

 三、索引对象

索引对象用于存储轴标签和其他数据,Series和DataFrame的任意数组或序列标签都可以转换为索引对象。索引对象不可变,不可修改。

我们可以先看一下之前的DataFrame的索引对象

python入门——DataFrame创建和索引_第17张图片

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)

python入门——DataFrame创建和索引_第18张图片

 3、索引对象可以包含重复标签

python入门——DataFrame创建和索引_第19张图片

参考:Wes McKinney《利用python进行数据分析》

 、

你可能感兴趣的:(python入门,python,pandas)