pandas介绍
pandas是基于numpy的用于科学计算和数据分析的python的第三方库,其功能有:
- 读写不同数据格式的数据
- 选择数据子集
- 进行行列计算
- 查找填充缺失的数据
- 将操作应用于数据中独立的组
- 将数据重塑为其他格式
- 组合多组数据集
- 高级时间序列功能
- 通过matplotlib或seaborn可视化
pandas基础
引入pandas模块
import pandas as pd
pandas主要有Series和DataFrame两种数据类型:
Series类型
Series由一组数据以及由这组数据相关的索引组成:
索引 | 数据 |
---|---|
index_1 | data_b |
index_2 | data_c |
index_3 | index_d |
eg:
a = pd.Series([1,2,3])
output:
>>>b = pd.Series([1,2,3,3], index= ['a','b','c'],'d') #自定义索引
>b
a 1
b 2
c 3
d 3
dtype = int64
Series可从pyhton列表、python字典、ndarray、标量中创建
Series的操作十分类似于ndarray的操作(使用[]进行索引与切片),也类似于python的字典类型(可以使用in和.get等)
Series的索引对齐:
>>>a = pd.Series([1,2,3],['c', 'd', 'e'])
>>>b = pd.Series([3, 4, 5, 6],['a', 'b', 'c', 'd'])
>>>a+b
>a NaN
b NaN
c 6
d 9
e NaN
DataFrame类型
DataFrame是由共用相同索引的一组列所组成:
- DataFrame是一个表格类型的数据类型,每列值类型可以不同
- 既有行索引(index),也有列索引(column)
- 常用于表达二维数据,但也可以表达多维数据
DataFrame可以由
二维ndarray类型
由一维ndarray、列表、字典、元组或Series构成的字典
Series类型
其他DataFrame类型
创建
eg:
d = pd.DataFrame(np.arange(10).reshape(2,5))
out:
eg:
purchase_1 = pd.Series({'Name': 'Chris',
'Item Purchased': 'Dog Food',
'Cost': 22.50})
purchase_2 = pd.Series({'Name': 'Kevyn',
'Item Purchased': 'Kitty Litter',
'Cost': 2.50})
purchase_3 = pd.Series({'Name': 'Vinod',
'Item Purchased': 'Bird Seed',
'Cost': 5.00})
df = pd.DataFrame([purchase_1, purchase_2, purchase_3], index=['Store 1', 'Store 1', 'Store 2'])
out:
数据类型操作
重新索引 .reindex(index = None, columns = None, fill_value=…)
参数 | 功能 |
---|---|
index,columns | 新的行列自定义索引 |
fill_value | 重新索引中用于填充缺失值的值,默认为NaN |
method | 填充方法,ffill为当前值向前填充,bfill向后填充 |
limit | 最大填充量 |
copy | 默认为True,生成新的对象,False时,新旧相等不复制 |
Series和DataFrame的缩影类型都是index类型,而index对象是不可修改的类型
索引类型的方法
数据排序: