首页 > 解决方案 > 具有高错误密度的时间段(在数据帧中)

问题描述

我有一个数据框,它有一个时间戳列和一个错误列,错误列有 6 种类型的值(NaN、D、E、F、G、H),我需要及时提取高密度错误 E 的时间段我不知道如何解决这个问题。

在此处输入图像描述

在此处输入图像描述

我的方法是创建一个直方图,然后我可以计算每个错误的概率密度,然后我会迭代所有天并选择 E 概率最高的那些。

有没有解决这类问题的方法?谢谢你的时间

标签: pythonpandasprobability-density

解决方案


这是一种方法:

df.groupby(df.timestamp.dt.date).error.apply(lambda s: s.eq(2).sum() / s.size)

我们按时间戳的日期进行分组,并对errors 应用一个函数,该函数采用组中 2 的比率。在此之后,您可以链接idxmax以获得具有最高错误密度的日期,或者nlargest(n)获得最高的 n 个日期。

使用提供的示例数据,这给出:

timestamp
2019-11-10    0.4
Name: error, dtype: float64

(因为只有1天,所以只出现。)


推荐阅读