使用pandas DataFrame,我想取每个第i行并将其除以第i-1行.我想使用矢量化(即,不用于循环).
例如如果我有以下DataFrame:
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