简介
pandas学习网站:http://pandas.pydata.org/
pandas含有使数据更快更简单的高级数据结构和操作工具。pandas是基于NumPy构建的,让以NumPy为
中心的应用变得更加简单
pandas的数据结构
要使用pandas,首先就得熟悉它的两个主要数据结构:Series和DataFrame。虽然它们并不能解决所有问题,但它们为大多数应用提供了一种可靠的,易于使用的基础。
Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅有一组数据即可产生最简单的Series
In[4]: obj = Series([4, 6, -2 , 2])
In[5]: obj
Out[5]:
0 4
1 6
2 -2
3 2
DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(公用同一个索引)。跟吉他类似的数据结构相比(如R的data.fram),DataFrame中面向行和面向列的操作基本上是平衡的。
可以输入给DataFrame构造器的数据
类型 | 说明 |
---|---|
二维ndarray | 数据矩阵,还可以传入行标和列标 |
由数组,列表或元组组成的字典 | 每个序列会变成DataFrame的一列。所有序列的长度必须相同 |
NumPy的结构化/记录数组 | 类似于”有数组组成的字典” |
由Series组成的字典 | 每个Series会成为一列。如果没有显示指定索引,则各Series的索引会被合并成结构的行索引 |
由字典组成的字典 | 各内层字典会成为一列。键会被合并成结果的行索引,跟”由 |
字典或Series的列表 | 各项将会成为DataFrame的一行。字典键或Series索引的并集将会成为DataFrame的列表 |
由列表或元组组成的列表 | 类似于”二维ndarry” |
另一个DataFrame | 该DataFrame的索引将会被沿用,除非显示指定了其他索引 |
NumPy的MaskedArray | 类似于”二维ndarray”的情况,只是掩码值在结果DataFrame会变成NA/缺失值 |
索引对象
pandas中主要的Index对象
Index的方法和属性
重新索引
reindex的method选项
参数 | 说明 |
---|---|
ffill或pad | 前向填充(或搬运)值 |
bfill或backfill | 后向填充(或搬运)值 |
reindex函数的参数
丢弃指定轴上的项
索引选取和过滤
在算术方法中填充值
函数应用和映射
汇总和计算描述统计
pandas对象拥有一组常用的数学和统计方法。它们大部分都属于约简和汇总统计,用于从Series中提取单个值(如sum或mean)或从DataFrame的行或列中提取一个Series。
简约方法的选项
描述和汇总统计
唯一值,值计数以及成员资格
处理缺失值
NA处理方法
层次化索引
层次化索引是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。