Python 中的 ADTK 异常值 detection/filtering

ADTK Outlier detection/filtering in Python

我正在尝试修正我拥有的数据集中的异常情况。这是进程的 CPU 使用数据。

我的数据如下所示

我查找异常的代码如下所示

outlier_detector = OutlierDetector(LocalOutlierFactor(contamination=0.05))
anomalies = outlier_detector.fit_detect(df_anomaly)
print(anomalies)

异常输出显示如下所示

如何为集合中具有 True 的所有值过滤异常输出?异常输出的是数据帧还是其他?

贡献者在 GitHub 上回答了这个问题。

异常对象是 pandas.core.series.Series 您可以将其转换为列表并在您自己的绘图中使用数据。

# With datetime and boolean
anomailes_list = anomalies.reset_index().values.tolist()
anomailes_list
# Just boolean results
anomailes_list = anomalies.to_list()
anomailes_list

# List of values that are True
anomalies_true = [value for value in anomalies.to_list() if value]