检查Pandas数据框中的异常值

10 浏览
0 Comments

检查Pandas数据框中的异常值

传感器图的绘制\n我在一个包含8个电极的传感器上进行了一个实验。\n上面的图是电极输出与时间的关系图。\n从图上可以看出,8个电极中的一个明显是异常值(可能是由于某种电气故障引起的)。\n该图是由一个Pandas DataFrame生成的,基本上有10列(1列用于时间,8列用于电极,1列用于对8个电极求平均)。\n如何以统计学的方式最好地检测出其中一个列是异常值呢?我想,然后可以从DataFrame中删除异常值列。\n谢谢!

0
0 Comments

问题:如何检查Pandas数据框中的异常值?

在Pandas数据框中,散点图或分布图可以很好地指出异常值。下面是如何进行操作的。

首先,使用df.describe()可以得到一个包含均值、最大值和所有百分位数的矩阵。查看列的最大值,如果大于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()]

0