Pandas最详细教程来了!

本文详细介绍了Python数据分析库Pandas的使用,包括DataFrame的创建、数据操作、索引、合并以及时间序列分析等核心功能。通过实例展示了如何利用Pandas进行数据处理,包括数据导入、数据结构初始化、行列操作、条件筛选以及数据聚合等操作,适合于Python初学者和金融分析人员学习。
摘要由CSDN通过智能技术生成

导读:在Python中,进行数据分析的一个主要工具就是Pandas。Pandas是Wes McKinney在大型对冲基金AQR公司工作时开发的,后来该工具开源了,主要由社区进行维护和更新。

Pandas具有NumPy的ndarray所不具有的很多功能,比如集成时间序列、按轴对齐数据、处理缺失数据等常用功能。Pandas最初是针对金融分析而开发的,所以很适合用于量化投资。

作者:赵志强 刘志伟

来源:大数据DT(ID:hzdashuju)

在使用Pandas之前,需要导入Pandas包。惯例是将pandas简写为pd,命令如下:

import pandas as pd

Pandas包含两个主要的数据结构:SeriesDataFrame。其中最常用的是DataFrame,下面我们先来学习一下DataFrame。

01 DataFrame入门

DataFrame是一个表格型的数据结构。每列都可以是不同的数据类型(数值、字符串、布尔值等)。

DataFrame既有行索引也有列索引,这两种索引在DataFrame的实现上,本质上是一样的。但在使用的时候,往往是将列索引作为区分不同数据的标签。DataFrame的数据结构与SQL数据表或者Excel工作表的结构非常类似,可以很方便地互相转换。

下面先来创建一个DataFrame,一种常用的方式是使用字典,这个字典是由等长的list或者ndarray组成的,示例代码如下:

data={'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就是标签部分,代表了每一列的名称。

下文列出了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数据类型。

创建的时候,如果指定了列标签,那么DataFrame的列也会按照指定的顺序进行排列,示例代码如下:

df=pd.DataFrame(data,columns=['C','B','A'],index=['a','b','c'])
df

运行结果如图3-3所示。

▲图3-3

如果某列不存在,为其赋值,会创建一个新列。我们可以用这种方法来添加一个新的列:

df['D']=10
df

运行结果如图3-4所示。

▲图3-4

使用del命令可以删除列,示例代码如下:

del df['D']
df

运行结果如图3-5所示。

▲图3-5

添加行的一种方法是先创建一个DataFram

  • 12
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值