十分钟搞定pandas

这是关于pandas的简短介绍,主要面向新用户。可以参阅Cookbook了解更复杂的使用方法。

习惯上,我们做以下导入

创建对象

使用传递的值列表序列创建序列, 让pandas创建默认整数索引

使用传递的numpy数组创建数据帧,并使用日期索引和标记列.

使用传递的可转换序列的字典对象创建数据帧.

所有明确类型

如果你这个正在使用IPython,标签补全列名(以及公共属性)将自动启用。这里是将要完成的属性的子集:

如你所见, 列 A, B, C, 和 D 也是自动完成标签. E 也是可用的; 为了简便起见,后面的属性显示被截断.

查看数据

参阅基础部分

查看帧顶部和底部行

显示索引,列,和底层numpy数据

描述显示数据快速统计摘要

转置数据

按轴排序

按值排序

选择器

注释: 标准Python / Numpy表达式可以完成这些互动工作, 但在生产代码中, 我们推荐使用优化的pandas数据访问方法, .at, .iat, .loc, .iloc 和 .ix.

参阅索引文档 索引和选择数据 and 多索引/高级索引

读取

选择单列, 这会产生一个序列, 等价df.A

使用[]选择行片断

使用标签选择

更多信息请参阅按标签选择

使用标签获取横截面

使用标签选择多轴

显示标签切片, 包含两个端点

降低返回对象维度

获取标量值

快速访问并获取标量数据 (等价上面的方法)

按位置选择

更多信息请参阅按位置参阅

传递整数选择位置

使用整数片断,效果类似numpy/python

使用整数偏移定位列表,效果类似 numpy/python 样式

显式行切片

显式列切片

显式获取一个值

快速访问一个标量(等同上个方法)

布尔索引

使用单个列的值选择数据.

where 操作.

使用 isin() 筛选:

赋值

赋值一个新列,通过索引自动对齐数据

按标签赋值

按位置赋值

通过numpy数组分配赋值

之前的操作结果

where 操作赋值.

丢失的数据

pandas主要使用np.nan替换丢失的数据. 默认情况下它并不包含在计算中. 请参阅 Missing Data section

重建索引允许更改/添加/删除指定轴索引,并返回数据副本.

删除任何有丢失数据的行.

填充丢失数据

获取值是否nan的布尔标记

运算

参阅二元运算基础

统计

计算时一般不包括丢失的数据

执行描述性统计

在其他轴做相同的运算

用于运算的对象有不同的维度并需要对齐.除此之外,pandas会自动沿着指定维度计算.

Apply

在数据上使用函数

直方图

请参阅 直方图和离散化

字符串方法

序列可以使用一些字符串处理方法很轻易操作数据组中的每个元素,比如以下代码片断。 注意字符匹配方法默认情况下通常使用正则表达式(并且大多数时候都如此). 更多信息请参阅字符串向量方法.

合并

连接

pandas提供各种工具以简便合并序列,数据桢,和组合对象, 在连接/合并类型操作中使用多种类型索引和相关数学函数.

请参阅合并部分

把pandas对象连接到一起

连接

SQL样式合并. 请参阅 数据库style联接

添加

添加行到数据增. 参阅 添加

分组

对于“group by”指的是以下一个或多个处理

  • 将数据按某些标准分割为不同的组
  • 在每个独立组上应用函数
  • 组合结果为一个数据结构

请参阅 分组部分

分组然后应用函数统计总和存放到结果组

按多列分组为层次索引,然后应用函数

重塑

请参阅章节 分层索引重塑.

堆叠

堆叠 函数 “压缩” 数据桢的列一个级别.

被“堆叠”数据桢或序列(有多个索引作为索引), 其堆叠的反向操作是未堆栈, 上面的数据默认反堆叠到上一级别:

数据透视表

查看数据透视表.

我们可以从此数据非常容易的产生数据透视表:

时间序列

pandas有易用,强大且高效的函数用于高频数据重采样转换操作(例如,转换秒数据到5分钟数据), 这是很普遍的情况,但并不局限于金融应用, 请参阅时间序列章节

时区表示

转换到其它时区

转换不同的时间跨度

转换时段并且使用一些运算函数, 下例中, 我们转换年报11月到季度结束每日上午9点数据

分类

自版本0.15起, pandas可以在数据桢中包含分类. 完整的文档, 请查看分类介绍 and the API文档.

转换原始类别为分类数据类型.

重命令分类为更有意义的名称 (分配到Series.cat.categories对应位置!)

重排顺分类,同时添加缺少的分类(序列 .cat方法下返回新默认序列)

排列分类中的顺序,不是按词汇排列.

类别列分组,并且也显示空类别.

绘图

绘图文档.

在数据桢中,可以很方便的绘制带标签列:

获取数据输入/输出

CSV

写入csv文件

读取csv文件

HDF5

读写HDF存储

写入HDF5存储

读取HDF5存储

Excel

读写MS Excel

写入excel文件

读取excel文件

陷阱

如果尝试这样操作可能会看到像这样的异常:

查看对照获取解释和怎么做的帮助

也可以查看陷阱.

2 15 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部