Python Pandas 数据结构简介
Pandas处理以下三种数据结构:
- Series
- DataFrame
- Panel
数组之上的,这意味着它们是快速的。
维度与描述
思考这些数据结构的最好方式是,高维数据结构是其低维数据结构的容器。例如,DataFrame是Series的一个容器,Panel是DataFrame的一个容器。
数据结构 | 维度 | 描述 |
---|---|---|
Series | 1 | 1D标记的同质数组,尺寸不可变。 |
DataFrame | 2 | 一般的二维标记的、大小可变的表格结构,有可能是异质类型的列。 |
Panel | 3 | 一般的三维标记的、大小可变的数组。 |
构建和处理二维或多维数组是一项繁琐的工作,用户在编写函数时要考虑数据集的方向,负担很重。但是使用Pandas数据结构,用户的脑力劳动就会减少。
例如,对于表格数据(DataFrame),考虑 索引 (行)和 列 而不是轴0和轴1在语义上更有帮助。
可变性
所有的Pandas数据结构都是值可变的(可以改变),除了Series之外,其他都是大小可变的。系列的大小是不可变的。
注意 - DataFrame被广泛使用,是最重要的数据结构之一。面板的使用则要少得多。
Series
系列是一个类似于一维数组的结构,具有同质的数据。例如,下面的系列是一个整数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
面板是一个具有异质数据的三维数据结构。它很难用图形表示面板。但是面板可以作为DataFrame的一个容器来说明。
关键点
- 异质数据
- 尺寸可变
- 数据可变