【问题标题】:plot number of occurrences (conditional selection) from Pandas DataFrame从 Pandas DataFrame 绘制出现次数(条件选择)
【发布时间】:2015-11-17 20:07:39
【问题描述】:

我有一个包含三列的 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

【问题讨论】:

    标签: pandas matplotlib ipython-notebook


    【解决方案1】:

    假设您从以下内容开始:

    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();
    

    【讨论】:

      猜你喜欢
      • 2014-02-15
      • 2015-06-12
      • 2015-03-22
      • 2017-09-23
      • 2017-07-25
      • 2016-07-02
      • 2017-03-27
      相关资源
      最近更新 更多