我知道这个问题非常简单,但这是我使用大熊猫的第一天,所以请至少发一个我应该阅读的文档的链接。
基本上,我不知道如何计算每列的项目数。假设我有一个这样的数据框:
Grade Major Number
1 Science 3
1 Engineering 2
1 Art 0
2 Science 2
2 Engineering 1
2 Art 1
我希望得到以下结果:
ps aux | less
答案 0 :(得分:1)
print (df.groupby(['Grade','Major']).size().reset_index(name='Number'))
Grade Major Number
0 1 Engineering 2
1 1 Science 3
2 2 Art 1
3 2 Engineering 1
4 2 Science 2
如果需要为每个组添加缺失值,请使用unstack
添加stack
:
print (df.groupby(['Grade','Major'])
.size()
.unstack(fill_value=0)
.stack()
.reset_index(name='Number'))
Grade Major Number
0 1 Art 0
1 1 Engineering 2
2 1 Science 3
3 2 Art 1
4 2 Engineering 1
5 2 Science 2