gpt4 book ai didi

python - cumsum() 在多个列上

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:04 24 4
gpt4 key购买 nike

我想创建以下数据框:

Index       A        B        C
a 0 0 0
b 1 10 0
c -1 0 -10
d 1 20 0
e 0 0 0
f -1 0 -20
g 0 0 0
h 1 15 0
i -1 0 -15

AB 已给出。 C 应通过函数生成,无需迭代。可能以这种方式:

def generate_C():
C = np.where(A == -1, << here prior value from B * -1 >>, 0)
df['C] = C
return df

我尝试通过 cumsum() 处理 BC 列,但效果不佳。有什么建议吗?

最佳答案

您可以使用:

df.loc[df.A==-1, 'C'] = (-df.loc[df.A==1, 'B']).values
df.C.fillna(0, inplace=True)
print (df)
A B C
Index
a 0 0 0.0
b 1 10 0.0
c -1 0 -10.0
d 1 20 0.0
e 0 0 0.0
f -1 0 -20.0

关于python - cumsum() 在多个列上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37607822/

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