Pandas 是一个Python数据分析库,它提供了高性能、易于使用的数据结构和数据分析工具。这个库适用于处理和分析输入数据,常见于统计分析、金融分析、社会科学研究等领域。
1.Pandas的核心功能
Pandas 库的核心功能包括:
1.数据结构:Pandas 提供了两种主要的数据结构——DataFrame
和 Series
。DataFrame
是一个表格型的数据结构,可以想象成一个关系型数据表,具有可变的行和列。Series
是一个一维的标签数组,能够保存任何数据类型(整数、字符串、浮点数等)。
2.数据操作:Pandas 支持对数据进行插入、删除、合并、切片、聚合和重塑等多种操作。
3.处理缺失数据:Pandas 能够轻松处理缺失数据(例如:NaN
)。
4.文件操作:Pandas 支持直接从或保存到多种文件格式如 CSV、Excel、SQL 数据库以及 HDF5 格式。
5.时间序列分析:Pandas 对时间序列数据有优秀的处理能力,能够进行日期范围生成、频率转换、移动窗口统计等操作。
因此,Pandas 是数据科学和量化分析领域中不可或缺的工具之一,用于数据清洗、分析以及准备数据用于进一步的统计或机器学习处理。
2.Pandas的使用
(1)Series数据结构
Series
对象是Pandas库中的基本数据结构之一,它主要用于单维度的数据集合(整数、浮点数、字符串、Python 对象等)。这种数据结构广泛应用于数据分析、数据清洗以及数据预处理过程中。该对象支持各种操作,如算术运算、聚合函数(求和、平均、最大值等)和条件过滤。同时,Series
非常适合处理时间序列数据。它可以有一个时间索引,这使得进行时间序列分析(如趋势分析、季节性调整等)变得更加直接和高效。此外,Pandas 还允许Series
对象与其他数据结构(如DataFrame
)无缝工作,可以方便地从 Series
转换到 DataFrame
,反之亦然。
import pandas as pd # 导入库并设置别名为‘pd’
import numpy as np # 导入库并设置别名为‘np’
import matplotlib.pyplot as plt
# 创建一个Series对象:传递一个数值列表作为参数,令Pandas使用默认索引
s=pd.Series([1,2,4,np.nan,6,7,9,10]) # 其中np.nan是numpy中的特殊值,表示非数字(Not a Number),它通常用于表示缺失值或未定义的数值
print(s)
# 输出:
'''
0 1.0
1 2.0
2 4.0
3 NaN
4 6.0
5 7.0
6 9.0
7 10.0
dtype: float64
'''
(2)创建DataFrame对象
DataFrame
是一个二维的、表格型的数据结构,它可以存储多种类型的数据(整数、浮点数、字符串、Python 对象等),并且具有行和列的标签。
# 创建一个DataFrame对象:传递datetime索引和列标签的Numpy数组作为参数
# 首先创建一个时间序列,代码生成一个DatetimeIndex,包含从2013-01-01到2013-01-06的六个连续日期。
dates=pd.date_range('20130101',periods=6)
print(dates)
#创建DataFrame对象,指定index和columns标签
df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD')) # 生成一个6行4列的列表,元素是从标准正态分布中抽取的随机数
print(df)
# 输出:
'''
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')
A B C D
2013-01-01 -1.3