pct_change()函数用于计算当前元素与前一个元素之间的百分比变化。其基本语法如下:
DataFrame.pct_change(periods=1, fill_method='pad', limit=None, freq=None, **kwargs)
参数说明
1、periods (默认值: 1):
计算百分比变化的间隔周期。
例如,periods=1 表示当前值与上一个值的变化率;periods=2 表示当前值与上上个值的变化率。
2、fill_method (默认值: 'pad'):处理缺失值的方法。
可选值:
'pad' 或 'ffill':用前一个非缺失值填充缺失值。
'bfill':用后一个非缺失值填充缺失值。
None:不填充缺失值。
3、limit (默认值: None):
指定填充缺失值的最大数量。
freq (默认值: None):
用于时间序列数据的频率字符串或 DateOffset 对象。
例如,freq='D' 表示按天计算变化率。
3、**kwargs:
其他传递给 fillna() 的参数。
示例
data = {
'A': [100, 110, 120, 115, 130],
'B': [200, 210, 220, 215, 230]
}
df = pd.DataFrame(data)
# 计算每列的百分比变化
pct_change = df.pct_change()
print(pct_change)
输出
0 NaN
1 0.000000
2 0.200000
3 -0.041667
4 0.130435
dtype: float64
缺失值处理注意事项:
如果数据中存在缺失值,pct_change() 的结果中也会包含 NaN。
可以通过 fill_method 参数指定填充缺失值的方法。
第一个值为 NaN:
由于第一个值没有前一个值可以计算变化率,因此结果中的第一个值总是 NaN。
负值处理:
如果数据中包含负值,百分比变化的结果可能不太直观,需要根据具体场景解释。