**pct_change() 是 Pandas 中的一个函数,用于计算数据的变化率(百分比变化)。**它通常用于时间序列数据中,计算当前值与前一值之间的百分比变化。
1. 函数定义
DataFrame.pct_change(periods=1, fill_method='pad', limit=None, freq=None)
参数说明:
periods:计算变化率的时间间隔,默认为 1,表示当前值与前一值之间的变化率。
fill_method:如何处理缺失值(NaN),默认为 'pad',表示用前一个值填充缺失值。
limit:填充缺失值的最大数量。
freq:用于时间序列的频率字符串(如 'D' 表示天,'M' 表示月)。
2. 功能
pct_change() 计算当前值与前一值之间的百分比变化,公式为:
3. 示例
示例 1:基本用法
python
复制
import pandas as pd
# 创建一个包含价格数据的 DataFrame
data = {
'日期': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04'],
'收盘价': [100, 105, 102, 108]
}
df = pd.DataFrame(data)
df['涨跌幅'] = df['收盘价'].pct_change() # 计算涨跌幅
print(df)
输出:
示例 2:指定时间间隔
python
df['涨跌幅'] = df['收盘价'].pct_change(periods=2) # 计算与前两行的变化率
print(df)
示例 3:处理缺失值
# 创建一个包含缺失值的 DataFrame
data = {
'日期': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04'],
'收盘价': [100, None, 102, 108]
}
df = pd.DataFrame(data)
df['涨跌幅'] = df['收盘价'].pct_change(fill_method='ffill') # 用前一个值填充缺失值
print(df)
4. 应用场景
计算股票涨跌幅:用于计算每日、每周或每月的涨跌幅。
计算收益率:用于计算投资组合的收益率。
分析时间序列数据:用于分析时间序列数据的变化趋势。
5. 总结
pct_change() 用于计算数据的变化率(百分比变化)。
可以通过 periods 参数指定时间间隔。
可以通过 fill_method 参数处理缺失值。
适用于时间序列数据的分析和计算。