我有一个关于传感器的实验,其中包含8个电极。上面的图是电极输出与时间的图示。从图中可以看出,8个电极中有一个很明显的异常值(可能是由于某种电气故障引起的)。该图是从Pandas DataFrame生成的,这个DataFrame基本上有10列(1列是时间,8列是电极,还有1列对8个电极求平均值)。
最佳的统计方法是什么来检测其中的一列是否为异常值?然后可以将该异常值所在的列从DataFrame中删除。
谢谢!
我有一个关于传感器的实验,其中包含8个电极。上面的图是电极输出与时间的图示。从图中可以看出,8个电极中有一个很明显的异常值(可能是由于某种电气故障引起的)。该图是从Pandas DataFrame生成的,这个DataFrame基本上有10列(1列是时间,8列是电极,还有1列对8个电极求平均值)。
最佳的统计方法是什么来检测其中的一列是否为异常值?然后可以将该异常值所在的列从DataFrame中删除。
谢谢!
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()]