在pandas中,可以使用.pct_change()
方法计算DataFrame或Series中相邻两行的百分比变化。
.pct_change()
方法的基本语法是:
df.pct_change(periods=1)
- periods:计算相邻几行的变化,默认为1,表示相邻两行
例如,有一个简单的DataFrame:
col1 col2 col3
0 1 4 7
1 3 5 8
2 2 6 9
计算相邻两行的百分比变化:
df.pct_change()
col1 col2 col3
0 NaN NaN NaN
1 1.00 0.25 0.14
2 -0.33 0.20 0.125
可以看到,第一行为NaN,表示无法计算。
我们可以指定计算几行的变化,如期望计算每两行的变化:
df.pct_change(periods=2)
col1 col2 col3
0 NaN NaN NaN
1 1.00 0.25 0.14
2 -0.33 -0.17 -0.111
对Series也可以使用.pct_change():
s = pd.Series([1, 3, 2])
s.pct_change()
# 0 NaN
# 1 2.0
# 2 -0.333
# dtype: float64
所以,.pct_change()方法可以完成:
- 默认计算DataFrame/Series相邻两行的百分比变化
- 可以指定periods计算几行的变化
- 可用于DataFrame和Series
熟练掌握.pct_change()方法,可以让我们在分析数据变化趋势和研究股价时序数据时高效地计算相邻行的百分比变化。这是描述和理解数据变动的关键指标之一。