Pandas:将所有具有相同月份的行相加
Pandas: sum all rows with the same month
假设我有以下数据:
| student | performance | competititon | month |
|--------------|-------------|--------------|---------|
| Aardvark | 11 | A | 2019-01 |
| Aardvark | 13 | B | 2019-01 |
| Jason Derulo | 11 | A | 2019-01 |
| Jason Derulo | 15 | B | 2019-01 |
| Jason Derulo | 22 | C | 2019-02 |
| JP Saxe | 11 | A | 2019-01 |
| JP Saxe | 23 | B | 2019-01 |
| JP Saxe | 32 | C | 2019-02 |
我想要以下结果:
| student | aggregate performance | month |
|--------------|-----------------------|---------|
| Aardvark | 24 | 2019-01 |
| Jason Derulo | 26 | 2019-01 |
| Jason Derulo | 22 | 2019-02 |
| JP Saxe | 34 | 2019-01 |
| JP Saxe | 32 | 2019-02 |
简而言之,我希望将每个月的绩效列的总和与竞争无关,放入一个新列表中。
我已经尝试过 where
和 groupby
以及 sum
之类的东西,但我似乎无法完全得到我想要的东西。
让我们做
df.groupby(['month', 'student'])[['performance']].sum().reset_index()
假设我有以下数据:
| student | performance | competititon | month |
|--------------|-------------|--------------|---------|
| Aardvark | 11 | A | 2019-01 |
| Aardvark | 13 | B | 2019-01 |
| Jason Derulo | 11 | A | 2019-01 |
| Jason Derulo | 15 | B | 2019-01 |
| Jason Derulo | 22 | C | 2019-02 |
| JP Saxe | 11 | A | 2019-01 |
| JP Saxe | 23 | B | 2019-01 |
| JP Saxe | 32 | C | 2019-02 |
我想要以下结果:
| student | aggregate performance | month |
|--------------|-----------------------|---------|
| Aardvark | 24 | 2019-01 |
| Jason Derulo | 26 | 2019-01 |
| Jason Derulo | 22 | 2019-02 |
| JP Saxe | 34 | 2019-01 |
| JP Saxe | 32 | 2019-02 |
简而言之,我希望将每个月的绩效列的总和与竞争无关,放入一个新列表中。
我已经尝试过 where
和 groupby
以及 sum
之类的东西,但我似乎无法完全得到我想要的东西。
让我们做
df.groupby(['month', 'student'])[['performance']].sum().reset_index()