首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查Pandas Dataframe中的异常值

检查Pandas Dataframe中的异常值
EN

Stack Overflow用户
提问于 2018-01-04 09:34:37
回答 1查看 10.3K关注 0票数 3

Plot of sensor

我在一个包含8个电极的传感器上做了一个实验。上图是电极输出随时间变化的曲线图。正如您在图中看到的,8个电极中的一个明显是异常值(可能是由于某些电气故障)。该图是由Pandas DataFrame生成的,它基本上有10列(1列表示时间,8列表示电极,1列平均8个电极)。

在统计上检测某一列是否为异常值的最佳方法是什么?我想可以将离群列从数据帧中删除。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-04 10:05:34

散点图或分布图对于指出异常值很有帮助。但在熊猫数据帧问题的上下文中,我将如何做到这一点。

df.decribe()

将为您提供一个很好的均值、最大值和所有百分位数的矩阵。查看列的最大值,以指出其值大于75百分位数的异常值。

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

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

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

示例代码:

代码语言:javascript
复制
outliers = df[df[col] > df[col].mean() + 3 * df[col].std()]
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48087534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档