导读:在Python中 , 进行数据分析的一个主要工具就是Pandas 。Pandas是Wes McKinney在大型对冲基金AQR公司工作时开发的 , 后来该工具开源了 , 主要由社区进行维护和更新 。作者:赵志强 刘志伟
Pandas具有NumPy的ndarray所不具有的很多功能 , 比如集成时间序列、按轴对齐数据、处理缺失数据等常用功能 。Pandas最初是针对金融分析而开发的 , 所以很适合用于量化投资 。
来源:华章科技
文章插图
在使用Pandas之前 , 需要导入Pandas包 。惯例是将pandas简写为pd , 命令如下:
import pandas as pd
Pandas包含两个主要的数据结构: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所示 。文章插图
▲图3-2
我们可以看到 , DataFrame主要由如下三个部分组成 。
- 数据 , 位于表格正中间的9个数据就是DataFrame的数据部分 。
- 索引 , 最左边的a、b、c是索引 , 代表每一行数据的标识 。这里的索引是显式指定的 。如果没有指定 , 会自动生成从0开始的数字索引 。
- 列标签 , 表头的A、B、C就是标签部分 , 代表了每一列的名称 。
- data:ndarray/字典/类似列表 | DataFrame数据;数据类型可以是ndarray、嵌套列表、字典等
- index:索引/类似列表 | 使用的索引;默认值为range(n)
- columns:索引/类似列表 | 使用的列标签;默认值为range(n)
- dtype:dtype | 使用(强制)的数据类型;否则通过推导得出;默认值为None
- copy:布尔值 | 从输入复制数据;默认值为False
下文列举了可以作为data传给DataFrame函数的数据类型 。
可以传给DataFrame构造器的数据:
- 二维ndarray:可以自行指定索引和列标签
- 嵌套列表或者元组:类似于二维ndarray
- 数据、列表或元组组成的字典:每个序列变成一列 。所有序列长度必须相同
- 由Series组成的字典:每个Series会成为一列 。如果没有指定索引 , 各Series的索引会被合并
- 另一个DataFrame:该DataFrame的索引将会被沿用
获取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数据类型 。
推荐阅读
- 世界上跳的最高的昆虫是什么 什么动物是世界上跳得最高的
- 世界上最长的水母 世界上最小的水母是什么水母
- 最早的灵长类动物 人是灵长类动物
- 世界上谁的尾巴最长动物 马的尾巴大约长多少厘米
- 海底最深的地方有什么怪物 隐藏海底的怪物
- 最毒的蚂蚁是哪种 世界上最毒的蚂蚁是什么蚂蚁
- 女人喝什么茶最养生,女人喝什么美容养颜
- 世界上寿命最长的海洋动物是 牛的最长寿命是多少岁
- 经科学家测试,流星体运动的最大速度 天文学家发现了一颗太阳系外行星
- 世界上已发现的矿物有近几种 地球上最古老的矿物是