[英]Python: sum values of the third column if two columns have the same value
[英]How to sum up individual columns if they have the same value in a different column?
我有以下數據框:
Names Counts Year
0 Jordan 1043 2000
1 Steve 204 2000
2 Brock 3 2000
3 Steve 33 2000
4 Mike 88 2000
... ... ... ...
20001 Bryce 2 2015
20002 Steve 11 2015
20003 Penny 24 2015
20004 Steve 15 2015
20005 Penny 5 2015
如果每個名稱在一年中出現多次,我想將它們的所有計數加起來。 output 的示例可能如下所示:
Names Counts Year
0 Jordan 1043 2000
1 Steve 237 2000
2 Brock 3 2000
3 Mike 88 2000
... ... ... ...
20001 Bryce 2 2015
20002 Steve 26 2015
20003 Penny 29 2015
我嘗試了以下方法:
(df[df['Names'].eq('Steve')].groupby('Year').agg({'Names': 'first', 'Counts': sum}).reset_index())
它為個人名稱返回以下內容,但這不是我想要的。
Year Names Counts
0 2000 Steve 237
1 2015 Steve 26
嘗試
df['Counts'] = df.groupby(['Names','Year'])['Counts'].transform('sum')
您共享的代碼看起來像是在過濾“名稱”列中的值“史蒂夫”。 下面的代碼將對“名稱”和“年份”組合的唯一對進行分組,並對所有相關的“計數”值求和。
tempdf = df.groupby(['Names',"Year"])['Counts'].sum().reset_index()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.