Python Pandas 数据结构简介
Pandas处理以下三种数据结构:
- Series
- DataFrame
- Panel
这些数据结构建立在Numpy数组之上,意味着它们的运行速度很快。
维度与描述
最好的理解这些数据结构的方式是将高维数据结构看作是低维数据结构的容器。例如,DataFrame是Series的容器,Panel是DataFrame的容器。
数据结构 | 维度 | 描述 |
---|---|---|
Series | 1 | 一维带标签的同质数组,大小不可变。 |
Data Frames | 2 | 通用的二维带标签,大小可变的表格结构,其中列的类型可能不同。 |
Panel | 3 | 通用的三维带标签,大小可变的数组。 |
构建和处理二维或多维数组是一项繁琐的任务,用户在编写函数时需要考虑数据集的方向,但使用Pandas数据结构可以减少用户的心力。
例如,对于表格数据(DataFrame),更有语义意义的是考虑行(索引)和列,而不是轴0和轴1。
可变性
所有Pandas数据结构都是可变的(可以更改),除了Series之外,所有其他结构的大小都是可变的。Series的大小是不可变的。
注意 - DataFrame被广泛使用,是最重要的数据结构之一。Panel的使用较少。
Series
Series是一个一维数组-like的结构,具有同质数据。例如,以下系列是一组整数10、23、56,…
10 | 23 | 56 | 17 | 52 | 61 | 73 | 90 | 26 | 72 |
---|---|---|---|---|---|---|---|---|---|
关键要点
- 同质数据
- 尺寸不可变
- 数据值可变
DataFrame
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的容器。
关键点
- 异构数据
- 大小可变
- 数据可变