如何基于熊猫数据帧中的分组求和?

时间:2019-07-03 13:42:51

标签: python pandas dataframe sum

我有一个熊猫数据框df,其中包含:

major       men        women        rank

Art         5          4            1
Art         3          5            3
Art         2          4            2
Engineer    7          8            3
Engineer    7          4            4
Business    5          5            4
Business    3          4            2

基本上,我需要找到每个专业的男女生总数,而不考虑排名列。因此,例如对于Art来说,总数应该是23位男性和女性,工程师26位,业务17位。

我尝试过

df.groupby(['major_category']).sum()

但这是分别将男女加起来的总和,而不是合计他们的总数。

2 个答案:

答案 0 :(得分:2)

melt()然后groupby()

df.drop('rank',1).melt('major').groupby('major',as_index=False).sum()

      major  value
0       Art     23
1  Business     17
2  Engineer     26

答案 1 :(得分:2)

只需添加两列,然后添加groupby

(df.men+df.women).groupby(df.major).sum()

major
Art         23
Business    17
Engineer    26
dtype: int64