pandas cumsum skip column?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (75)

我把累积量添加到

df.cumsum(axis=1)

   y0  y1  y2
0   2   3   4
1   2   2   3
2   0   0   0
3   1   2   3
   y0  y1  y2
0   2   5   9
1   2   4   7
2   0   0   0
3   1   3   6

但是,是否有方法只在前2列上执行,即跳过y2?

提问于
用户回答回答于

你需要排除y2,查找cumsum和连接y2

pd.concat([df[['y0', 'y1']].cumsum(axis=1),df['y2']], axis=1)

输出:

    y0  y1  y2
0   2   5   4
1   2   4   3
2   0   0   0
3   1   3   3
用户回答回答于

你可以使用.loc

cols = ['y0', 'y1']
df.loc[:, cols] = df.loc[:, cols].cumsum(axis=1)

输出量

   y0  y1  y2
0   2   5   4
1   2   4   3
2   0   0   0
3   1   3   3

所属标签

可能回答问题的人

  • 腾讯云数据库 TencentDB

    腾讯云 · 产品团队 (已认证)

    303 粉丝2 提问51 回答
  • EatRice

    17 粉丝0 提问183 回答
  • 华讯云

    1 粉丝0 提问156 回答
  • 网站运维工程师

    H3C · 软件开发工程师 (已认证)

    5 粉丝0 提问18 回答

扫码关注云+社区

领取腾讯云代金券