Pandas最详细教程来了

导读:在Python中 , 进行数据分析的一个主要工具就是Pandas 。Pandas是Wes McKinney在大型对冲基金AQR公司工作时开发的 , 后来该工具开源了 , 主要由社区进行维护和更新 。
Pandas具有NumPy的ndarray所不具有的很多功能 , 比如集成时间序列、按轴对齐数据、处理缺失数据等常用功能 。Pandas最初是针对金融分析而开发的 , 所以很适合用于量化投资 。
作者:赵志强 刘志伟
来源:华章科技
Pandas最详细教程来了

文章插图
 
在使用Pandas之前 , 需要导入Pandas包 。惯例是将pandas简写为pd , 命令如下:
import pandas as pdPandas包含两个主要的数据结构:Series和DataFrame 。其中最常用的是DataFrame , 下面我们先来学习一下DataFrame 。
01 DataFrame入门DataFrame是一个表格型的数据结构 。每列都可以是不同的数据类型(数值、字符串、布尔值等) 。
DataFrame既有行索引也有列索引 , 这两种索引在DataFrame的实现上 , 本质上是一样的 。但在使用的时候 , 往往是将列索引作为区分不同数据的标签 。DataFrame的数据结构与SQL数据表或者Excel工作表的结构非常类似 , 可以很方便地互相转换 。
下面先来创建一个DataFrame , 一种常用的方式是使用字典 , 这个字典是由等长的list或者ndarray组成的 , 示例代码如下:
data=https://www.isolves.com/it/cxkf/yy/Python/2021-04-01/{'A':['x','y','z'],'B':[1000,2000,3000],'C':[10,20,30]}df=pd.DataFrame(data,index=['a','b','c'])df运行结果如图3-2所示 。
Pandas最详细教程来了

文章插图
▲图3-2
我们可以看到 , DataFrame主要由如下三个部分组成 。
  • 数据 , 位于表格正中间的9个数据就是DataFrame的数据部分 。
  • 索引 , 最左边的a、b、c是索引 , 代表每一行数据的标识 。这里的索引是显式指定的 。如果没有指定 , 会自动生成从0开始的数字索引 。
  • 列标签 , 表头的A、B、C就是标签部分 , 代表了每一列的名称 。
下文列出了DataFrame函数常用的参数 。其中 , “类似列表”代表类似列表的形式 , 比如列表、元组、ndarray等 。一般来说 , data、index、columns这三个参数的使用频率是最高的 。
  • data:ndarray/字典/类似列表 | DataFrame数据;数据类型可以是ndarray、嵌套列表、字典等
  • index:索引/类似列表 | 使用的索引;默认值为range(n)
  • columns:索引/类似列表 | 使用的列标签;默认值为range(n)
  • dtype:dtype | 使用(强制)的数据类型;否则通过推导得出;默认值为None
  • copy:布尔值 | 从输入复制数据;默认值为False
其中data的数据类型有很多种 。
下文列举了可以作为data传给DataFrame函数的数据类型 。
可以传给DataFrame构造器的数据:
  • 二维ndarray:可以自行指定索引和列标签
  • 嵌套列表或者元组:类似于二维ndarray
  • 数据、列表或元组组成的字典:每个序列变成一列 。所有序列长度必须相同
  • 由Series组成的字典:每个Series会成为一列 。如果没有指定索引 , 各Series的索引会被合并
  • 另一个DataFrame:该DataFrame的索引将会被沿用
前面生成了一个DataFrame , 变量名为df 。下面我们来查看一下df的各个属性值 。
获取df数据的示例代码如下:
df.values输出结果如下:
array([['x', 1000, 10],       ['y', 2000, 20],       ['z', 3000, 30]], dtype=object)获取df行索引的示例代码如下:
df.index输出结果如下:
Index(['a', 'b', 'c'], dtype='object')获取df列索引(列标签)的示例代码如下:
df.columns输出结果如下:
Index(['A', 'B', 'C'], dtype='object')可以看到 , 行索引和列标签都是Index数据类型 。


推荐阅读