Plot of sensor

我对包含 8 个电极的传感器进行了实验。
上图是电极输出与时间的关系图。
正如您在图中所见,8 个电极之一显然是异常值(可能是由于某些电气故障)。
该图是从 Pandas DataFrame 生成的,它基本上有 10 列(1 列表示时间,8 列表示电极,1 列平均 8 个电极)。

统计检测其中一列是异常值的最佳方法是什么?我想象离群值列然后可以从数据框中删除。

谢谢!

最佳答案

散点图或分布图适用于指出异常值。但是就 Pandas 数据框的问题而言,我将如何做到这一点。
df.decribe()
会给你一个很好的均值、最大值和所有百分位矩阵。查看列的最大值以指出异常值是否大于 75 个百分位的值。

然后 df['Sensor Value'].value_counts() 应该给你值的频率。您将在此处显示具有更大值和更低频率的异常值。

获取它们的索引并使用 df.drop(indexes_list, inplace=True) 删除它们

编辑 :
您还可以使用 mean +/- 3 * standard deviation 检查异常值。

示例代码:

outliers = df[df[col] > df[col].mean() + 3 * df[col].std()]

关于python - 检查 Pandas 数据框的异常值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48087534/

10-12 21:25