标题中的英文首字母大写比较规范,但在python实际使用中均为小写。
2018年8月2日笔记
建议读者安装anaconda,这个集成开发环境自带了很多包。
作者推荐到2018年8月2日仍为最新版本的anaconda下载链接: https://pan.baidu.com/s/1pbzVbr1ZJ-iQqJzy1wKs0A 密码: g6ex
下面代码的开发环境为jupyter notebook,使用在jupyter notebook中的截图表示运行结果。
1.导入库
使用 pandas,首先就得熟悉它的两个主要数据结构: Series和 Dataframe。
from pandas import Series,DataFrame
import pandas as pd
2.创建Series取索引
Series对象有loc和iloc成员变量,如下图所示:
loc的数据类型为pandas.core.indexing,_LocIndexer
,
iloc的数据类型为pandas.core.indexing,_iLocIndexer
,
用loc进行索引时,中括号[ ]中的值必须是索引的真实值;
用iloc进行索引时,中括号[ ]中的值必须是整数,与列表list索引取值类似,例如obj.iloc[2]就是取第3行的值。
3.Pandas基本数据类型-DataFrame
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型 。
Dataframe既有行索引也有列索引,它可以被看做由 Series组成的字典(共用同一个索引)。
跟其他类似的数据结构相比(如R的dataframe), Data frame中面向行和面向列的操作基本上是平衡的。
其实, Dataframe中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。
3.1 可以用于构造DataFrame的数据
类型 | 说明 |
---|---|
二维ndarray | 数据矩阵,还可以传入行和列 |
由列表或元组成的字典 | 每个序列会变成DataFrame中的一列,所有序列的长度必须相同 |
Numpy的结构化/记录数组 | 类似于"由列表组成的字典" |
由Series组成的字典 | 每个Series会形成1列 |
由字典组成的字典 | 各内层字典会成为1列 |
字典或者Series的列表 | 各项会成为DataFrame的1行,字典键的并集成为列 |
简单例子如下:
from pandas import DataFrame
data = {'state':['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Neveda'],
'year':[2000, 2000, 2002, 2001, 2002],
'pop':[1.5, 1.7, 3.6, 2.4, 2.9]}
df = DataFrame(data)
df
上面一段代码的运行结果如下: