我有一个包含三列的DataFrame。 1)其中一个包含时间戳,2)第二个包含错误级别(级别1,级别2和级别3),第三个包含错误类别(类别1,类别2和类别3)
我想知道某一天某个级别和类别的错误有多少。例如,对于每天我想计算类别1的级别1的错误发生次数,并将此数据绘制为X轴上的日期和Y轴上的出现次数。如果您能通过使用pandas和matplotlib提供答案,我将不胜感激。
Time Level Category
2000-12-29 00:10:00 Level 1 Category 1
2000-12-29 00:20:00 Level 2 Category 2
2000-12-29 00:30:00 Level 3 Category 3
2000-12-29 00:40:00 Level 3 Category 3
2000-12-29 00:50:00 Level 3 Category 3
...
2000-12-31 00:10:00 Level 3 Category 3
2000-12-31 00:20:00 Level 2 Category 2
2000-12-31 00:30:00 Level 1 Category 1
data.time,data.level和data.category
答案 0 :(得分:0)
假设您从这样的事情开始:
import pandas as pd
df = pd.DataFrame(
{'Time': [1, 2, 2, 3, 4, 5],
'Level': [1, 2, 2, 2, 1, 2],
'Category': ['a', 'a', 'a', 'a', 'b', 'a']})
首先添加一个虚拟列:
df['dummy'] = 1
现在只需选择级别和类别,按时间分组,按组添加虚拟对象,并绘制:
df[(df.Category == 'a') & (df.Level == 2)][['Time', 'dummy']].dummy.groupby([df.Time]).sum().plot();