前言
pandas模块是基于NumPy模块的一个开源Python模块,广泛应用于完成数据快速分析、数据清洗和准备等工作,它的名字来源于“panel data”(面板数据)。
pandas模块提供了非常直观的数据结构及强大的数据管理和数据处理功能,某种程度上可以把pandas模块看成Python版的Excel。如果是利用Anaconda安装的Python,则自带pandas模块,无须单独安装。与NumPy模块相比,pandas模块更擅长处理二维数据,其主要有Series和DataFrame
两种数据结构。
(一)、Series
创建一维数组
import pandas as pd
s = pd.Series(['丁一','王二','张三'])
print(s)
运行结果
0 丁一
1 王二
2 张三
dtype: object
看到s是一个一维数组结构,并且每个元素都有一个可以用来定位的行索引,
如s[1]可以定位到王二。
(二)、二维数组表格DataFrame
的创建与索引的修改
一、DataFrame
的创建
DataFrame 可以通过列表、字典或二维数组来创建。
1、通过列表来创建
利用pandas
模块中的DataFrame()
函数来创建
import pandas as pd
a = pd.DataFrame([[1,2],[3,4],[5,6]])
print(a)
运行结果
0 1
0 1 2
1 3 4
2 5 6
通过与NumPy
模块创建的二维数组比较可以发现,DataFrame更像Excel中的二维表格,它也有行索引和列索引。需要注意的是,这里的索引序号是从0开始的。
我们还可以在创建DataFrame时自定义列索引和行索引,演示代码如下:
import pandas as pd
a = pd.DataFrame([[1,2],[3,4],[5,6]],columns=['date','score'],index=['A','B','C'])
print(a)
运行结果
date score
A 1 2
B 3 4
C 5 6
用列表来创建还有另一种方式,演示代码如下
import pandas as pd
a = pd.DataFrame()
date = [1,3,5]
score = [2,4,6]
a['date'] = date
a['score'] = score
print(a)
运行结果
date score
0 1 2
1 3 4
2 5 6
2、通过字典创建
默认以字典的键名作为列索引,演示代码如下:
import pandas as pd
a = pd.DataFrame({
'a':[1,2,3],'b':[4,5,6]},index=['x','y','z'])
print(a)
运行结果
a b
x 1 4
y 2 5
z 3 6
如果想以字典的键名作为行索引,可以用 from_dict()
函数将字典转换成DataFrame,同时。设置参数orient的值为’index’。演示代码如下:
import pandas as pd
a = pd.DataFrame.from_dict({
'a':[1,2,3],'b':[