非相邻对之间的pct_change

时间:2019-06-05 20:58:28

标签: python pandas

我正在尝试计算Pandas系列中的pct_change,但不是以常规方式计算相邻元素之间但在相隔两个位置的元素中的变化。

例如:

pd.Series([1, 2, 3, 4, 5, 6, 7])

0    1
1    2
2    3
3    4
4    5
5    6
6    7
dtype: int64

1425364与{{1} }(共3个步骤)。

2 个答案:

答案 0 :(得分:2)

pd.Series.pct_change中使用periods参数:

s.pct_change(periods=3)

输出:

0     NaN
1     NaN
2     NaN
3    3.00
4    1.50
5    1.00
6    0.75
dtype: float64

答案 1 :(得分:0)

尝试一下:

s = pd.Series(np.arange(1,10))
n_steps = 3

s.groupby(np.arange(len(s))%n_steps).pct_change()

输出:

0     NaN
1     NaN
2     NaN
3    3.00
4    1.50
5    1.00
6    0.75
7    0.60
8    0.50
dtype: float64