Pandas 从数据帧打印出现次数(条件选择)
我有一个三列的数据框。1) 其中一个包含时间戳,2)第二个包含错误级别(级别1、级别2和级别3),第三个包含错误类别(类别1、类别2和类别3) 我想知道在某一天里,某一级别和类别的错误发生了多少次。例如,对于每天,我想计算类别1的级别1的错误发生次数,并用X轴上的日期和Y轴上的发生次数绘制此数据。如果您能使用pandas和matplotlib提供答案,我将不胜感激Pandas 从数据帧打印出现次数(条件选择),pandas,matplotlib,ipython-notebook,Pandas,Matplotlib,Ipython Notebook,我有一个三列的数据框。1) 其中一个包含时间戳,2)第二个包含错误级别(级别1、级别2和级别3),第三个包含错误类别(类别1、类别2和类别3) 我想知道在某一天里,某一级别和类别的错误发生了多少次。例如,对于每天,我想计算类别1的级别1的错误发生次数,并用X轴上的日期和Y轴上的发生次数绘制此数据。如果您能使用pandas和matplotlib提供答案,我将不胜感激 Time Level Category 2000-12-29 00:10:00
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假设您从以下内容开始:
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
现在只需选择级别和类别groupby the time,为每个组添加虚拟对象,然后绘制:
df[(df.Category == 'a') & (df.Level == 2)][['Time', 'dummy']].dummy.groupby([df.Time]).sum().plot();