Pandas 数据结构
Pandas 数据结构
Pandas 有三种常用的数据结构
Series
DataFrame
Panel
这些数据结构建立在Numpy数组之上,这意味着它们运行速度都非常快。
Python、Numpy和Pandas对比
Python
list:Python自带数据类型,主要用一维,功能简单,效率低
Dict:Python自带数据类型,多维键值对,效率低
Numpy
ndarray:Numpy基础数据类型,单一数据类型
关注数据结构/运算/维度(数据间关系)
Pandas
Series:1维,类似带索引的1维ndarray
DataFrame:2维,表格型数据类型,类似带行/列索引的2维ndarray 关注数据与索引的关系(数据实际应用)
从实用性、功能强弱和和可操作性比较:list < ndarray < Series/DataFrame
数据规整和分析工作中,ndarry数组作为必要补充,大部分数据尽量使用Pandas数据类型
考虑这些数据结构的最佳方法是高维数据结构是其低维数据结构的容器。例如,DataFrame是Series的容器,Panel是DataFrame的容器。
数据结构 |
维度 |
说明 |
Series |
1 |
用于存储一个序列的一维数据 |
Data Frames |
2 |
DataFrame作为更复杂的数据结构,则用于存储多维数据 |
Panel |
3 |
通用的3D标签,大小可变的数组。 |
建立和处理二维数组是一项繁琐的工作,在编写函数时,要由用户来考虑数据集的方向。但是使用Pandas数据结构可以减少用户的精力。
例如,对于表格数据(DataFrame),在语义上考虑索引(行)和列比在轴0和轴1上更有帮助。
变异性
所有Pandas数据结构都是值可变的(可以更改),除了Series以外,其他大小都是可变的。系列是大小不变的。
注 -DataFrame被广泛使用,是最重要的数据结构之一。面板使用少得多。
Series
Series是具有均匀数据的一维数组状结构。例如,以下系列是整数10、23、56的集合...
10 |
23 |
56 |
17 |
52 |
61 |
73 |
90 |
26 |
72 |
Series是具有均匀数据的一维数组状结构。例如,以下系列是整数10、23、56的集合...
关键点
同类数据
大小不变
数据可变值
Data Frames
DataFrame是具有异构数据的二维数组。例如,
Name |
Age |
Gender |
Rating |
Steve |
32 |
Male |
3.45 |
Lia |
28 |
Female |
4.6 |
Vin |
45 |
Male |
3.9 |
Katie |
38 |
Female |
2.78 |
上表代表组织的销售团队的数据及其总体绩效等级,数据以行和列表示,每列代表一个属性,每行代表一个人。
列的数据类型
Column |
Type |
Name |
String |
Age |
Integer |
Gender |
String |
Rating |
Float |
关键点
异构数据
大小不变
数据可变
Panel
Panel是具有异构数据的三维数据结构。很难用图形表示面板。但是面板可以说明为DataFrame的容器。
关键点
异构数据
大小可变
数据可变