核心数据结构
pandas最核心的就是Series和DataFrame两个数据结构。
| 名称 | 维度 | 说明 |
|---|---|---|
| Series | 1维 | 带有标签的同构类型数组 |
| DataFrame | 2维 | 表格结构,带有标签,大小可变,且可以包含异构的数据列 |
DataFrame可以看做是Series的容器,即:一个DataFrame中可以包含若干个Series。
series
由于Series是一堆结构的数据,我们可以直接通过数组来创建这种数据,像这样:
import pandas as pd import numpy as np series1 = pd.Series([1, 2, 3, 4]) print("series1:\n{}\n".format(series1)) # series1: # 0 1 # 1 2 # 2 3 # 3 4 # dtype: int64
- 输出的最后一行是Series中数据的类型,这里的数据都是int64类型的。
- 数据在第二列输出,第一列是数据的索引
我们分别打印出Series中的数据和索引
print("series1.values: {}\n".format(series1.values)) print("series1.index: {}\n".format(series1.index)) # series1.values: [1 2 3 4] # series1.index: RangeIndex(start=0, stop=4, step=1)
我们可以指定索引的类型,例如字符串
series2 = pd.Series([1, 2, 3, 4, 5, 6, 7], index=["C", "D", "E", "F", "G", "A", "B"]) print("series2:\n{}\n".format(series2)) print("E is {}\n".format(series2["E"])) # series2: # C 1 # D 2 # E 3 # F 4 # G 5 # A 6 # B 7 # dtype: int64 # E is 3
DataFrame
通过Numpy接口来创建一个4x4的矩阵,以此来创建DataFrame
1 import pandas as pd 2 import numpy as np 3 4 df1 = pd.DataFrame(np.arange(16).reshape(4,4)) 5 print("df1:\n{}\n".format(df1)) 6 7 # df1: 8 # 0 1 2 3 9 # 0 0 1 2 3 10 # 1 4 5 6 7 11 # 2 8 9 10 11 12 # 3 12 13 14 15