gpt4 book ai didi

python - 对 pandas 数据框的列执行累积求和,忽略 NAN

转载 作者:行者123 更新时间:2023-12-03 08:39:12 25 4
gpt4 key购买 nike

我有一个 pandas 数据框,如下所示。我想根据每个订单对“NEW1”列执行累积和。下面的代码可以部分工作,但它不会忽略 Nan 的意思我预计最后一行的“cumsum”值为 8

import pandas as pd
import numpy as np
df = pd.DataFrame({'ORDER':["A", "A", "B", "B"], 'NEW1':[np.nan, 5, 8, np.nan]})
df['cumsum'] = df.groupby(['ORDER'])['NEW1'].cumsum()
df

ORDER NEW1 cumsum
0 A NaN NaN
1 A 5.0 5.0
2 B 8.0 8.0
3 B NaN NaN

我的预期输出:

    ORDER   NEW1    cumsum
0 A NaN NaN
1 A 5.0 5.0
2 B 8.0 8.0
3 B NaN 8.0

最佳答案

fillna()groupby 之前,并使用 transform

df['cumsum']=df.fillna(0).groupby('ORDER')['NEW1'].transform('cumsum')



ORDER NEW1 cumsum
0 A NaN 0.0
1 A 5.0 5.0
2 B 8.0 8.0
3 B NaN 8.0

关于python - 对 pandas 数据框的列执行累积求和,忽略 NAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63062821/

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