Pandas
作者:PureFFFmennory
上一节:5.1 Pandas的数据结构简介(上):Series类型PureFFFmennory:Pandas_操作数据集合基础 5.1 Pandas的数据结构简介(上)zhuanlan.zhihu.com
注:本节代码开始均默认读者已经导入pandas(import pandas as pd),本系列文章的代码均在在python3.7环境下运行。
5.1 Pandas的数据结构简介(上):DataFrame类型
DataFrame
DataFrame代表一个矩形数据表,并包含一个有序的列集合,每个列可以是不同类型的值(数字,字符串,布尔值等)。DataFrame同时具有行索引和列索引;可以将其视为所有共享相同索引的Series的dict。在后台,数据储存为一个或多个二维块,而不是列表,dict或其他一维数组的集合。DataFrame内部详细信息不在本文章的讨论范围之内。
注:虽然DataFrame在物理上是二维的,但你可以使用它通过分层索引以表格格式表示高维数据,我们将在后面提到,是Pandas中一些关于更高级的数据处理功能的组成部分。
构造DataFrame的方法有很多,尽管最常见的方法之一是用等长列表或NumPy数组的dict。
>> 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)
>> print(frame)
像Series一样,结果将自动分配索引于DataFrame,并且按排序顺序放置各列:
输出结果:
>>
pop state year
0 1.5 Ohio 2000
1 1.7 Ohio 2001
2 3.6 Ohio 2002
3 2.4 Nevada 2001
4 2.9 Nevada 2002
5 3.2 Nevada 2003
如果你用的是Jupyter笔记本,则Pandas的DataFrame对象将显示为对浏览器更友好的HTML表格。
对于大型DataFrame,head方法仅选择前5行:
>> print(frame.head())
输出结果:
>>
pop state year
0 1.5 Ohio 2000
1 1.7 Ohio 2001
2 3.6 Ohio 2002
3 2.4 Nevada 2001
4 2.9 Nevada 2002
如果你指定列的顺序,则DataFrame的列将按一下的顺序排列:
>> print(pd.DataFrame(data, columns=['year', 'state', 'pop']))
输出结果:
>>
year state pop
0 2000 Ohio 1.5