首页 > 解决方案 > 熊猫数据框熊猫

问题描述

我有这个csv:

信息 报告代理
缺失状态标志已删除 主机1
缺少状态标志被提出 主机1
缺失状态标志已删除 主机2
缺少状态标志被提出 主机2
缺少状态标志被提出 主机3

我需要得到这个

主持人 消息总数 丢失的标志删除 失踪的旗帜升起
主机1 2 1 1
主机2 2 1 1
主机3 1 0 1

这就是我所做的,但它没有显示我需要什么。谢谢您的帮助

def load_data():
    event = pd.read_csv("events.csv")
    return event
data = load_data()

def GCmissing(data):
        x=data.groupby('hosts')['message'].value_counts()         

标签: pythonpandasdataframe

解决方案


使用pandas.crosstab然后沿列求和以获得总计:

out_df = pd.crosstab(index = df['reported_agents'], columns = df['message'])
out_df['total_messages'] = out_df.sum(axis = 1)

输出:

reported_agents Missing status flag was raised  Missing status flag was removed total_messages
host1           1                               1                               2
host2           1                               1                               2
host3           1                               0                               1

推荐阅读