簡體   English   中英

如果它們在不同的列中具有相同的值,如何總結各個列?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM