Python 如何返回Pandas中的值计数
我有一个数据帧,其中包含一个unqiue IP和一个基于扫描结果分类器的严重性评级,如图所示: 我的目标:对于每个唯一的IP,如何返回每个严重性级别的计数?目标是最终创建一个表,列出每个严重性级别的IPs总数 我已经知道如何获得总计栏的点击率。这很简单:Python 如何返回Pandas中的值计数,python,pandas,classification,Python,Pandas,Classification,我有一个数据帧,其中包含一个unqiue IP和一个基于扫描结果分类器的严重性评级,如图所示: 我的目标:对于每个唯一的IP,如何返回每个严重性级别的计数?目标是最终创建一个表,列出每个严重性级别的IPs总数 我已经知道如何获得总计栏的点击率。这很简单: df_IP_counts = df['IP'].value_counts() or df_Severity_counts =df.Severity.value_counts() 但如何区分每个IP的临界值、高值、中等值和低值,目前给
df_IP_counts = df['IP'].value_counts()
or
df_Severity_counts =df.Severity.value_counts()
但如何区分每个IP的临界值、高值、中等值和低值,目前给我带来了麻烦
谢谢。您可以致电
groupby
+count
-
result = df.groupby(['IP', 'Severity']).Severity.count().unstack()
要获取总计数,您可以对值调用sum
,并使用assign
/concat
/inplace assignment将其添加到结果
数据帧-
result['Total'] = result.values.sum(axis=1)
您可以调用
groupby
+count
-
result = df.groupby(['IP', 'Severity']).Severity.count().unstack()
要获取总计数,您可以对值调用sum
,并使用assign
/concat
/inplace assignment将其添加到结果
数据帧-
result['Total'] = result.values.sum(axis=1)
伟大的现在我只需要确保最终结果中包含总计列@您可以执行的HolyDarkness
result.sum()
并将其与原始result.Nah连接起来。这会导致类似[严重程度严重219.0高306.0低32.0中等339.0]的结果,这是错误的输出。@TheHolyDarkness啊,我的错。试试result.values.sum()
:)是的,我也开始这么想了。然而,由于nan值的存在,它仍然是不可靠的。如何将NaN再次转换为0?太好了。现在我只需要确保最终结果中包含总计列@您可以执行的HolyDarknessresult.sum()
并将其与原始result.Nah连接起来。这会导致类似[严重程度严重219.0高306.0低32.0中等339.0]的结果,这是错误的输出。@TheHolyDarkness啊,我的错。试试result.values.sum()
:)是的,我也开始这么想了。然而,由于nan值的存在,它仍然是不可靠的。如何再次将NaN转换为0?请发布实际数据而不是图像。请发布实际数据而不是图像。