微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – 如何使用循环将行除以前一行的内容

使用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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐