带条件的 Pandas/Python 中的 groupby sum

df_have


ID  AMT     REL_NUM HDR_NUM

3   0.02    2.0      2.0    

4   2.00    2.0      4.0    

5   0.00    1.0      5.0    

1   0.00    5.0      1.0    

2   19.7    1.0      2.0    

df_want


ID  AMT     REL_NUM HDR_NUM CALCULATION

3   0.02    2.0      2.0      (19.7+0.02+2.00)

4   2.00    2.0      4.0      (2.00)

5   0.00    1.0      5.0      (0.00+0.00)

1   0.00    5.0      1.0      (0.00+19.7)

2   19.7    1.0      2.0      (19.7+0.02+2.00)

试图创建一个新列“计算”,但逻辑有点棘手。计算应该是依赖于 ID、REL_NUM 和 HDR_NUM 字段的 AMT 字段的 SUM。


步骤 1- 检查 HDR_NUM 字段并获取相应的 AMT 值,其中 ID=HDR_NUM 步骤 2- 添加 REL_NUM= HDR_NUM 的所有 AMT 字段


对于第一行,这将对 ID=2,3 和 4 的 AMT 字段求和。


需要更新的示例代码。我首先尝试了 groupby,但无法满足上述两个步骤:


df_want['CALCULATION']=df_have.groupby(['ID','HDR_NUM'])['AMT'].transform('sum')+ ?


宝慕林4294392
浏览 215回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python