我有以下資料框:
col1 col2 col3
0 prog1 id001 1
1 prog2 id001 0
2 prog2 id001 1
3 prog1 id002 0
4 prog3 id002 0
5 prog4 id002 1
6 prog2 id003 0
7 prog5 id003 1
8 prog5 id003 1
9 prog3 id004 1
目標 :
我想添加一個計算總和的新列,如下所示:
col1 col2 col3 sum_prog
0 prog1 id001 1 1
1 prog2 id001 0 1
2 prog2 id001 1 1
3 prog1 id002 0 1
4 prog3 id002 0 1
5 prog4 id002 1 1
6 prog2 id003 0 1
7 prog5 id003 1 2
8 prog5 id003 1 2
9 prog3 id004 1 1
如您所見,id003 對 prog5 有 sum_prog ==2,因為 prog5 在 'col1' 中出現了兩次,并且在 'col3' 中相應行的總和 = 2
我試圖解決這個問題,df.groupby()但直到現在我還沒有得到想要的輸出。
uj5u.com熱心網友回復:
您可以使用直接.transform生成pd.Series。
分組"col1"和sum中的值"col3"。
df["sum_prog"] = df.groupby(["col1"]).col3.transform("sum")
出去
col1 col2 col3 sum_prog
0 prog1 id001 1 1
1 prog2 id001 0 1
2 prog2 id001 1 1
3 prog1 id002 0 1
4 prog3 id002 0 1
5 prog4 id002 1 1
6 prog2 id003 0 1
7 prog5 id003 1 2
8 prog5 id003 1 2
9 prog3 id004 1 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/524437.html
標籤:Python熊猫数据框
