检查 Pandas 数据框的异常值 [重复]
Posted
技术标签:
【中文标题】检查 Pandas 数据框的异常值 [重复]【英文标题】:Checking a Pandas Dataframe for Outliers [duplicate] 【发布时间】:2018-06-13 17:27:11 【问题描述】:Plot of sensor
我在一个包含 8 个电极的传感器上进行了实验。 上图是电极输出与时间的关系图。 正如您在图中看到的那样,8 个电极中的一个显然是异常值(可能是由于某些电气故障)。 该图是从 Pandas DataFrame 生成的,它基本上有 10 列(1 列时间,8 列电极,1 列平均 8 个电极)。
统计检测其中一列是否为异常值的最佳方法是什么?我想离群值列可以从数据框中删除。
谢谢!
【问题讨论】:
***.com/questions/23199796/… 【参考方案1】:散点图或分布图非常适合指出异常值。但在熊猫数据框问题的背景下,我会这样做。
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()]
【讨论】:
以上是关于检查 Pandas 数据框的异常值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章