作者:幻好
来源:恒生LIGHT云社区
背景简介
在进行量化分析的过程中,总是需要使用大量的数据基础,对数据之间的关联进行挖掘,最终找到我们需要的数据。只通过Python进行数据分析是非常复杂的,有没有更简单的工具帮助我们能够高效快捷的帮助我们分析数据呢?
今天就介绍下Pandas-一个强大的分析结构化数据的工具集。
本文主要正对有一定 Python 语法基础的同学,需要学习 Python 的同学可以在社区寻找教程进行充电(https://developer.hs.net/course/?nav=course)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D5DPkDrS-1637826444733)(https://developer.hs.net/storage/attachments/2021/11/21/dHzoWpeBPKWpKswnYhZdIuVtog8BLgBrm3cESsCL_thumb.png “3816”)]
基本概念
Pandas 库是一个免费、开源的第三方 Python 库,是 Python 数据分析必不可少的工具之一,它为 Python 数据分析提供了高性能,且易于使用的数据结构,即 Series 和 DataFrame。
Pandas 使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。
Pandas 库基于 Python NumPy 库开发而来,因此,它可以与 Python 的科学计算库配合使用。
Pandas 自诞生后被应用于众多的领域,比如金融、统计学、社会科学、建筑工程等。
通过以上的介绍,想必大家对于Pandas是干啥的,能有个基本的了解。pandas 相当于 python 中 excel:它使用表(也就是 dataframe),能在数据上做各种变换,但还有其他很多功能。
数据结构
DataFrame
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3kbyq12E-1637826444735)(https://developer.hs.net/storage/attachments/2021/11/21/j7HLQWNXBCfGojdYrB2obddxWi4BcIbtnRsIVaHj_thumb.png “3817”)]
DataFrame 构造方法如下:
pandas.DataFrame( data, index, columns, dtype, copy)
参数说明:
- data:一组数据(ndarray、series, map, lists, dict 等类型)。
- index:索引值,或者可以称为行标签。
- columns:列标签,默认为 RangeIndex (0, 1, 2, …, n) 。
- dtype:数据类型。
- copy:拷贝数据,默认为 False。
Series
Series 类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lcCkwyk2-1637826444737)(https://developer.hs.net/storage/attachments/2021/11/21/R8oTHdMxUZhy2BYguImcn8FVc0ihjhL6gZNY32Go_thumb.png “3818”)]
Series 由索引(index)和列组成,函数如下:
pandas.Series( data, index, dtype, name, copy)
参数说明:
- data:一组数据(ndarray 类型)。
- index:数据索引标签,如果不指定,默认从 0 开始。
- dtype:数据类型,默认会自己判断。
- name:设置名称。
- copy:拷贝数据,默认为 False。
快速上手
引入组件
引入 Pandas 的组件到代码中:
import pandas as pd
如果引入不到,说明环境配置有问题或者你压根就没下载,通过以下方式下载组件:
pip install Pandas
Series对象操作
通过 Series() 函数来创建 Series 对象,通过这个对象可以调用相应的方法和属性:
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print (s)
DataFrame对象操作
通过 DataFrame()
创建对象的语法格式如下:
import pandas as pd
data = [1,2,3,4,5]
df = pd.DataFrame(data)
print(df)
读取文件数据
可以通过 read_csv()
函数对本地 .csv
格式文件进行读取:
data = pd.read_csv('file.csv')
data = pd.read_csv('file.csv', nrows=1000, skiprows=[1,5], encoding= gbk)
参数含义:
-
'file.csv'
: 表示读取文件名,可加入系统位置进行读取 -
nrows
:表示读取前多少行数据 -
skiprows
: 表示读取文件的时候会自动跳过不读行数。 -
encoding
: 表示读取文件的编码格式
与 read_csv
,类似的方法还有 read_excel
读取Excel文件数据。
写入文件数据
Pandas 提供的 to_csv()
函数用于将 DataFrame
转换为 CSV
数据。如果想要把 CSV
数据写入文件,只需向函数传递一个文件对象即可。否则,CSV
数据将以字符串格式返回。
data.to_csv(‘my_new_file.csv’, index=None)
参数含义:
-
index
: 表示是否需要添加索引,默认会自动添加索引
与 to_csv
,类似的方法还有 to_excel
写入Excel文件数据。
总结
本文主要介绍 Pandas 工具集的基础知识,学习 Pandas 能帮助我们快速处理和分析数据,后续会继续会更新实用操作,敬请期待。