df_haveID AMT REL_NUM HDR_NUM3 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_wantID AMT REL_NUM HDR_NUM CALCULATION3 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)試圖創(chuàng)建一個新列“計算”,但邏輯有點棘手。計算應(yīng)該是依賴于 ID、REL_NUM 和 HDR_NUM 字段的 AMT 字段的 SUM。步驟 1- 檢查 HDR_NUM 字段并獲取相應(yīng)的 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')+ ?
帶條件的 Pandas/Python 中的 groupby sum
寶慕林4294392
2021-07-13 17:14:21