加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:05:22 所属栏目:Python 来源:网络整理
导读:使用pandas DataFrame,我想取每个第i行并将其除以第i-1行.我想使用矢量化(即,不用于循环). 例如如果我有以下DataFrame: 1 10 2 20 8 160 32 480 我最终会: 1 10 2 2 4 8 4 3 注:除法运算使用旧表值,而不是更新的表值. 附:抱歉格式不好! 解决方法 使用,d
使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读