10分钟上手 Python pandas

官方 10 分钟入门文档(http://pandas.pydata.org/pandas-docs/stable/10min.html)
这是 pandas 的简短介绍,主要面向新用户。你可以看到更复杂的文档Cookbook(http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook)
[toc]

Environment

  • pandas 0.21.0
  • Python 3.6
  • jupyter notebook

开始

习惯上,我们导入如下:

对象创建

具体参阅数据结构介绍
通过传递一个值列表来创建一个 Series,让 pandas 创建一个默认的整数索引:

通过传递具有日期时间索引和标签列的 numpy 数组来创建一个 DataFrame:

通过传递一个可以转换为一系列对象的字典来创建一个 DataFrame。

有特定的 dtypes

如果您使用 IPython,按下 TAB 将提示补全。以下是将要完成的属性的子集:

如您所见,列 A,B,C 和 D 自动完成。 E 也在那里;为了简洁,其余的属性被省略。

查看数据

具体参阅基本部分(http://pandas.pydata.org/pandas-docs/stable/basics.html#basics)
查看数据集中的最开始和最末尾的行

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

描述显示您的数据的快速统计结果( std 是标准偏差)

转置数据

按轴排序

按值排序

选择

请参阅索引文档索引和选择数据(http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing)和多索引/高级索引(http://pandas.pydata.org/pandas-docs/stable/advanced.html#advanced)

直接选择

选择一个产生 Series 的列,相当于 df.A

选择通过 [] ,哪些切片的行。

按标签选择

请参阅按标签选择(http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-label)
使用标签获取整行数据

通过标签选择多列

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

减少返回的对象的维度

获得标量值

按位置选择

请参阅按位置选择(http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-integer)
通过传入整数的位置进行选择

通过整数片,类似于 numpy / Python

整数位置的位置列表,类似于 numpy / python 风格

用于明确地切割行

用于明确地切分列

为了明确地获取一个值

为了快速访问标量(等同于之前的方法)

布尔索引

使用单个列的值来选择数据。

从满足布尔条件的 DataFrame 中选择值。

使用 isin()方法进行过滤:

设置

设置新列自动按索引排列数据

通过标签设置值

按位置设置值

通过分配一个 numpy 数组进行设置

事先设置操作的结果

一个 where 操作与设置。

缺失数据

熊猫主要使用值 np.nan 来表示缺失的数据。这是默认情况下不包括在计算中。查看缺失数据(http://pandas.pydata.org/pandas-docs/stable/missing_data.html#missing-data)
Reindexing 允许您更改/添加/删除指定轴上的索引。这将返回数据的副本。

删除任何缺少数据的行。

填写缺少的数据

获取值为 nan 的布尔值

操作

请参阅 Basic section on Binary Ops(http://pandas.pydata.org/pandas-docs/stable/basics.html#basics-binop)

统计

一般操作不包括丢失的数据。
执行描述性统计

相同的操作在另一个轴上

使用具有不同维度和需要对齐的对象进行操作。另外,大熊猫会沿指定的尺寸自动变化。

应用(apply)

将函数应用于数据

直方图化(Histogramming)

请参阅 Histogramming and Discretization(http://pandas.pydata.org/pandas-docs/stable/basics.html#basics-discretization)

字符串方法

Series 在 str 属性中配备了一组字符串处理方法,使得在数组的每个元素上操作都变得很容易,如下面的代码片段所示。请注意,str中的模式匹配通常默认使用正则表达式(在某些情况下始终使用它们)。在矢量化字符串方法(http://pandas.pydata.org/pandas-docs/stable/text.html#text-string-methods)中查看更多。

合并

Concat

在连接/合并类型操作的情况下,熊猫提供了各种功能,可以方便地将 Series,DataFrame 和 Panel 对象与索引和关系代数功能的各种设置逻辑组合在一起。
请参阅合并部分(http://pandas.pydata.org/pandas-docs/stable/merging.html#merging)
连接 pandas 对象和 concat():

Join

SQL 风格合并。请参阅数据库样式的 joining

另一个可以给出的例子是:

Append

将行附加到数据框。见 Appending

分类

通过 “group by”,我们指的是涉及一个或多个以下步骤的过程

  • Splitting 根据一些标准将数据分组
  • Applying 根据一些标准将数据分组
  • Combining 将结果组合成一个数据结构

请参阅分组部分(http://pandas.pydata.org/pandas-docs/stable/groupby.html#groupby)

分组,然后将函数总和应用于结果组。

按多列分组会形成一个分层索引,然后我们应用这个函数。

重塑

请参阅分层索引(http://pandas.pydata.org/pandas-docs/stable/advanced.html#advanced-hierarchical)和重塑(http://pandas.pydata.org/pandas-docs/stable/reshaping.html#reshaping-stacking)的章节。

堆(Stack)

stack()方法“压缩” DataFrame 列中的级别。

对于“堆叠的” DataFrame 或 Series(以MultiIndex为索引),stack()的逆操作是 unstack(),默认情况下,它将卸载最后一层:

数据透视表

请参阅数据透视表(http://pandas.pydata.org/pandas-docs/stable/reshaping.html#reshaping-pivot)

我们可以很容易地从这些数据生成数据透视表:

时间序列

熊猫具有用于在频率转换期间执行重采样操作(例如,其次将数据转换为5分钟数据)的简单,强大且高效的功能。这在金融应用中非常普遍,但不限于此。请参阅时间系列(http://pandas.pydata.org/pandas-docs/stable/timeseries.html#timeseries)

时区表示

转换到另一个时区

在时间跨度表示之间进行转换

周期和时间戳之间的转换可以使用一些方便的算术功能。在下面的例子中,我们将季度结束时间从11月份转换为季末结束时的上午9点:

分类

熊猫可以在 DataFrame 中包含分类数据。有关完整文档,请参阅分类介绍(http://pandas.pydata.org/pandas-docs/stable/categorical.html#categorical)和 API 文档(http://pandas.pydata.org/pandas-docs/stable/api.html#api-categorical)

将原始等级转换为分类数据类型。

将类别重命名为更有意义的名称(指定到 Series.cat.categories 就是!)

重新排列类别并同时添加缺少的类别(Series .cat 下的方法默认返回一个新的系列)。

排序是按类别排序的,而不是词汇顺序。

按分类列分组也显示空白类别。

绘制(Plotting)

绘制文档(http://pandas.pydata.org/pandas-docs/stable/visualization.html#visualization)

在 DataFrame 上,plot()方便绘制所有带标签的列:

 

数据输入/输出

CSV

写入一个CSV文件(http://pandas.pydata.org/pandas-docs/stable/io.html#io-store-in-csv)

从 csv 文件读取(http://pandas.pydata.org/pandas-docs/stable/io.html#io-read-csv-table)

HDF5

读写 HDFStore:http://pandas.pydata.org/pandas-docs/stable/io.html#io-hdf5
写入 HDF5

读取 HDF5

Excel

阅读和写入 MS Excel:http://pandas.pydata.org/pandas-docs/stable/io.html#io-excel
写入一个 excel 文件

从 Excel 文件中读取

陷阱

如果你正在尝试一个操作,你会看到一个异常:

请参阅比较(http://pandas.pydata.org/pandas-docs/stable/basics.html#basics-compare)以获取解释和做什么。

请参阅 Gotchas:http://pandas.pydata.org/pandas-docs/stable/gotchas.html#gotchas。

出处:http://www.cnblogs.com/weedboy/p/7816914.html

技术交流群:238757010

文章分类 未分类

发表评论

电子邮件地址不会被公开。

在线交流

数百位业内高手和同行在等你交流
Reboot运维开发分享