如何在Python中的groupby中计算计数和百分比

如何在Python中的groupby中计算计数和百分比

本文介绍了如何在Python中的groupby中计算计数和百分比的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

分组后,我得到以下输出

I have following output after grouping by

Publisher.groupby('Category')['Title'].count()
Category
Coding          5
Hacking         7
Java            1
JavaScript      5
LEGO           43
Linux           7
Networking      5
Others        123
Python          8
R               2
Ruby            4
Scripting       4
Statistics      2
Web             3

在上面的输出中,我还希望百分比,即第一行5*100/219,依此类推.我正在关注

In the above output I want the percentage also i.e for the first row 5*100/219 and so on. I am doing following

 Publisher.groupby('Category')['Title'].agg({'Count':'count','Percentage':lambda x:x/x.sum()})

但这给我一个错误.请帮助

But it gives me an error. Please help

推荐答案

我认为您可以使用:

P = Publisher.groupby('Category')['Title'].count().reset_index()
P['Percentage'] = 100 * P['Title']  / P['Title'].sum()

示例:

Publisher = pd.DataFrame({'Category':['a','a','s'],
                   'Title':[4,5,6]})

print (Publisher)
  Category  Title
0        a      4
1        a      5
2        s      6

P = Publisher.groupby('Category')['Title'].count().reset_index()
P['Percentage'] = 100 * P['Title']  / P['Title'].sum()
print (P)
  Category  Title  Percentage
0        a      2   66.666667
1        s      1   33.333333

这篇关于如何在Python中的groupby中计算计数和百分比的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-01 17:22