第3章 Pandas数据结构
- 在使用它们之前我们要先将其导入,导入方法在Python基础知识部分讲过,一个程序中只需要导入一次即可。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
- 为了在引用模块时书写方便,上面的代码中用as分别给这几个模块起了别名。所以在本书中见到 pd 就是代表 Pandas,见到 np 就是代表 NumPy,见到 plt 就是代表matplotlib.pyplot
3.1 Series数据结构
3.1.1 Series是什么
- Series是一种类似于一维数组的对象,由一组数据及一组与之相关的数据标签(即索引)组成。
3.1.2 创建一个Series
- 创建一个Series利用的方法是pd.Series(),通过给Series()方法传入不同的对象即可实现。
#注意Series需要大写
s1 = pd.Series(["a","b","c"])
s1
0 a
1 b
2 c
dtype: object
- 如果只是传入一个列表不指定数据标签,那么Series会默认使用从0开始的数做数据标签,上面的0、1、2、3就是默认的数据标签。
s2 = pd.Series(["a","b","c"],index=[1,2,3])
s2
1 a
2 b
3 c
dtype: object
- 也可以将数据与数据标签以key:value(字典)的形式传入,这样字典的key值就是数据标签,value就是数据值。
s3 = pd.Series({"a":1,"b":2,"c":3})
s3
a 1
b 2
c 3
dtype: int64
3.1.3 利用index方法获取Series的索引
- 获取一组数据的索引是比较常见的需求,直接利用 index 方法就可以获取 Series的索引值,代码如下所示。
print(s1.index)
print(s3.index)
RangeIndex(start=0, stop=3, step=1)
Index(['a', 'b', 'c'], dtype='object')
3.1.4 利用values方法获取Series的值
print(s1.values)
print(s3.values)
['a' 'b' 'c']
[1 2 3]
3.2 Dataframe 表格型数据结构
3.2.1 Dataframe是什么
- Series是由一组数据与一组索引(行索引)组成的数据结构,而Dataframe是由一组数据与一对索引(行索引和列索引)组成的表格型数据结构。
- 之所以叫表格型数据结构,是因为Dataframe的数据形式和Excel的数据存储形式很相近,接下来的章节主要围绕Dataframe这种表格型数据结构展开。下面就是一个简单的Dataframe数据结构。
3.2.2 创建一个Dataframe
- 创建Dataframe使用的方法是pd.Dataframe(),通过给Dataframe()方法传入不同的对象即可实现。
df1 = pd.Dataframe(["a","b","c","d"])
df1
0
0 a
1 b
2 c
3 d
- 只传入一个单一列表时,该列表的值会显示成一列,且行和列都是从0开始的默认索引。
df2 = pd.Dataframe([["a","A"],["b","B"],["c","C"],["d","D"]])
df2
0 1
0 a A
1 b B
2 c C
3 d D
- 当传入一个嵌套列表时,会根据嵌套列表数显示成多列数据,行、列索引同样是从0开始的默认索引。列表里面嵌套的列表也可以换成元组。
df3 = pd.Dataframe([("a","A"),("b","B"),("c","C"),("d","D")])
df3
0 1
0 a A
1 b B
2 c C
3 d D
df4 = pd.Dataframe([("a","A"),("b","B"),("c","C"),("d","D")]
,columns = ["小写","大写"]
,index = ["一","二","三","四"])
df4
小写 大写
一 a A
二 b B
三 c C
四 d D
3.2.3 获取Dataframe的行、列索引
#利用columns方法获取Dataframe的列索引。
print(df4.columns)
#利用index方法获取Dataframe的行索引。
print(df4.index)
Index(['小写', '大写'], dtype='object')
Index(['一', '二', '三', '四'], dtype='object')
3.2.4 获取Dataframe的值
- 获取Dataframe的值就是获取Dataframe中的某些行或列,有关行、列的选择在第6章会有详细讲解。