且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何从pandas数据帧中的当前行中减去前一行并将其应用于每一行;没有使用循环?

更新时间:2023-08-28 19:08:58

你可以用 pct_change()或/和 diff()方法

演示:

In [138]: df.Close.pct_change() * 100
Out[138]:
0         NaN
1    0.469484
2    0.467290
3   -0.930233
4    0.469484
5    0.467290
6    0.000000
7   -3.255814
8   -3.365385
9   -0.497512
Name: Close, dtype: float64

In [139]: df.Close.diff()
Out[139]:
0      NaN
1    0.125
2    0.125
3   -0.250
4    0.125
5    0.125
6    0.000
7   -0.875
8   -0.875
9   -0.125
Name: Close, dtype: float64