使用 pandas DataFrame,我想取出第 i 行并将其除以第 i-1 行。我想使用矢量化(即没有 for 循环)。
例如如果我有以下数据框:
1 10
2 20
8 160
32 480
我最终会得到:
1 10
2 2
4 8
4 3
注意除法运算使用旧表值,而不是更新后的值。
附言抱歉格式错误!
最佳答案
使用、div
、shift
和 fillna
:
df.div(df.shift(1)).fillna(df).astype(int)
输出:
A B
0 1 10
1 2 2
2 4 8
3 4 3
关于python - 如何使用循环将一行除以前一行的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50684255/