如何在熊猫中返回值的计数

时间:2017-12-04 22:02:19

标签: python pandas classification

我有一个包含unqiue IP的数据帧,以及一个基于扫描结果分类器的严重等级,如下所示:

enter image description here

我的目标:对于每个唯一的IP,如何返回每个严重级别的计数?目标是最终创建一个表,列出每个严重级别的每个IP总数。

enter image description here

我已经知道如何获得Totals专栏的点击量。这很简单:

df_IP_counts = df['IP'].value_counts()

or 

df_Severity_counts =df.Severity.value_counts()

但是如何将每个IP的CRITICAL,HIGH,MODERATE和LOW分别计算在内,这给我带来了麻烦。

谢谢。

1 个答案:

答案 0 :(得分:4)

您可以致电groupby + count -

result = df.groupby(['IP', 'Severity']).Severity.count().unstack()

要获取总计数,您可以在值上调用sum并使用assign / concat / inplace assignment将其添加到result数据框 -

result['Total'] = result.values.sum(axis=1)