Pandas - 对groupby后的数据返回一个数据框(Dataframe)

8

我有一个 Pandas 的 df

Name    No
A       1
A       2
B       2
B       2
B       3

我希望按列Name进行分组,对列No求和,然后返回一个包含两列的数据框,如下所示:
Name    No
A       3
B       7

我尝试过:
df.groupby(['Name'])['No'].sum()

但是它没有返回我想要的数据框。我无法将结果作为列添加到数据框中。 非常感激任何帮助。
1个回答

14

groupby 中添加参数 as_index=False

print (df.groupby(['Name'], as_index=False)['No'].sum())
  Name  No
0    A   3
1    B   7

或者调用 reset_index:

print (df.groupby(['Name'])['No'].sum().reset_index())
  Name  No
0    A   3
1    B   7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接