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')+ ?
相关分类