gpt4 book ai didi

Python Pandas 非零 cumsum

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:00 27 4
gpt4 key购买 nike

我想在 python 中的 pandas 数据帧上应用 cumsum,但没有零。只是我想保留零并在数据帧上执行 cumsum 。假设我有这样的数据框:

import pandas as pd

df = pd.DataFrame({'a' : [1,2,0,1],
'b' : [2,5,0,0],
'c' : [0,1,2,5]})

a b c
0 1 2 0
1 2 5 1
2 0 0 2
3 1 0 5

结果应该是

   a  b  c
0 1 2 0
1 3 7 1
2 0 0 3
3 4 0 8

有什么想法可以避免循环吗?在 R 中有 ave 函数,但我对 python 很陌生,我不知道。

最佳答案

您可以屏蔽 df,以便只覆盖非零单元格:

In [173]:
df[df!=0] = df.cumsum()
df

Out[173]:
a b c
0 1 2 0
1 3 7 1
2 0 0 3
3 4 0 8

关于Python Pandas 非零 cumsum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39507774/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com