Python Pandas:如何根据另一列计算值在列中出现的次数?

时间:2017-12-03 16:12:13

标签: python pandas dataframe count

This is my pandas dataframe I am referring to.

基本上我希望能够根据'crime type''council'上显示点数。例如,'council == Fermanagh and omagh'计算的地方 如果有意义,每个'crime type'的值不同?因此,burgulary可能等于1,而Anti-social behaviour'对于另一个3则为'council'?然后我想在条形图上绘制这些值。

希望这有一定道理。任何帮助都会很棒。谢谢。

1 个答案:

答案 0 :(得分:1)

我认为groupby需要size

df1 = df.groupby(['crime type', 'council']).size().reset_index(name='Count')

编辑:

df = pd.DataFrame({'crime type':['Anti-social behaviour','Anti-social behaviour',
                                 'Burglary','Burglary'],
                   'council':['Fermanagh and omagh','Belfast','Belfast','Belfast']})


df1 = df.groupby(['council', 'crime type']).size().unstack(fill_value=0)
print (df1)
crime type           Anti-social behaviour  Burglary
council                                             
Belfast                                  1         2
Fermanagh and omagh                      1         0

df1.plot.bar()