python离群点检测_如何从熊猫DataFrame中检测峰点(离群值)

我有一个带有多个速度值的熊猫数据帧,这些速度值是连续移动的值,但它是一个传感器数据,因此我们经常在中间出现误差的情况下,移动平均值似乎也无济于事,所以我可以采用什么方法用于从数据中删除这些离群值或峰点?

例:

data points={0.5,0.5,0.7,0.6,0.5,0.7,0.5,0.4,0.6,4,0.5,0.5,4,5,6,0.4,0.7,0.8,0.9}

在此数据中,如果我看到点4、4、5、6完全是离群值,那么在我使用具有5分钟窗框的滚动平均值来平滑这些值之前,但仍然得到了这些类型的亮点,我想删除它,有人可以建议我采取任何技术摆脱这些问题。

我有一张图片,可以更清晰地查看数据:5Z7Nd.png

如果您在此处看到数据如何显示一些必须删除的离群点?有什么想法摆脱这些问题的可能方法是什么?

解决方案

I really think z-score using scipy.stats.zscore() is the way to go here. Have a look at the related issue in this post. There they are focusing on which method to use before removing potential outliers. As I see it, your challenge is a bit simpler, since judging by the data provided, it would be pretty straight forward to identify potential outliers without having to transform the data. Below is a code snippet that does just that. Just remember though, that what does and does not look like outliers will depend entirely on your dataset. And after removing some outliers, what has not looked like an outlier before, suddenly will do so now. Have a look:

importmatplotlib.pyplotaspltimportpandasaspdimportnumpyasnpfromscipyimportstats# your data (as a list)data=[0.5,0.5,0.7,0.6,0.5,0.7,0.5,0.4,0.6,4,0.5,0.5,4,5,6,0.4,0.7,0.8,0.9]# initial plotdf1=pd.DataFrame(data=data)df1.columns=['data']df1.plot(style='o')# Function to identify and remove outliersdefoutliers(df,level):# 1. temporary dataframedf=df1.copy(deep=True)# 2. Select a level for a Z-score to identify and remove outliersdf_Z=df[(np.abs(stats.zscore(df))

Originial data:

ZFEaT.png

Test run 1 : Z-score = 4:

WwKEK.png

As you can see, no data has been removed because the level was set too high.

Test run 2 : Z-score = 2:

qyuPz.png

Now we're getting somewhere. Two outliers have been removed, but there is still some dubious data left.

Test run 3 : Z-score = 1.2:

ECXVR.png

This is looking really good. The remaining data now seems to be a bit more evenly distributed than before. But now the data point highlighted by the original datapoint is starting to look a bit like a potential outlier. So where to stop? That's going to be entirely up to you!

EDIT: Here's the whole thing for an easy copy&paste:

importmatplotlib.pyplotaspltimportpandasaspdimportnumpyasnpfromscipyimportstats# your data (as a list)data=[0.5,0.5,0.7,0.6,0.5,0.7,0.5,0.4,0.6,4,0.5,0.5,4,5,6,0.4,0.7,0.8,0.9]# initial plotdf1=pd.DataFrame(data=data)df1.columns=['data']df1.plot(style='o')# Function to identify and remove outliersdefoutliers(df,level):# 1. temporary dataframedf=df1.copy(deep=True)# 2. Select a level for a Z-score to identify and remove outliersdf_Z=df[(np.abs(stats.zscore(df))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

普通故障处理流程

一般OA或者BOSS的用户报故障后流程如下。、从中心机房扫描微波如果基站端能扫描到,但是客户端无法扫描。基本可以排除 基站端设备正常(除天线外)。问题一般出在客户那里,比如客户端微波数据丢失,停电。天线问题&#x…

普通用户nginx访问不了_Nginx降权启动之使用普通用户管理 | it运维_it技术_linux运维-追梦人博客...

一、介绍1.1、什么是nginx降权启动降权启动:即nginx的启动与管理使用非root用户来启动与管理,这样就防止每次修改配置重启时都需要用root用户来重启了。注意:普通用户只能只用1024以上的端口,不可以直接使用80或者443端口(前面可以…

读书 | IT人如何直击本质洞察底层逻辑?

【好书共读】| 作者/Edison Zhou作为IT技术人,我们不仅要精进技术,也要在技术之外修炼自己的软能力。本质思考,是一种直击事物本质的能力,是思考“思考的方法”,是一切思考的原动力。我们不用担心这个能力在其他企业用…

编译AjaxControlToolkit发生错误如何解决?

错误的具体内容是:Error 1 Could not load file or assembly vjslib, Version2.0.0.0, Cultureneutral, PublicKeyTokenb03f5f7f11d50a3a or one of its dependencies. TemplateVSI\TemplateVSI.csproj 未能加载文件或程序集“vjslib, Version2.0.0.0, Cultureneut…

内网通mac能用吗_纯干货!小容量Mac装外置硬盘Windows系统最完美的方案!(多图)...

很多用Mac 的同学都会碰到一个很头疼的问题,那就是对 Windows系统的需求,macOS系统虽好,但是很多专业性软件都没有Mac 版本(特别是对国内的用户),这时大家就会对 Windows系统有需求了。这时候很多同学会想到使用虚拟机或者装 Boot…

卖shell看站什么意思_粤语俚语卖咸鸭蛋是什么意思?

点读:卖咸鸭蛋(maai6 haam4 aap3 daan6)点解:就是死了的意思点造句:粤:您搵丧彪啊,佢琴日去劈友唔小心赖咗嘢,宜家已经去咗卖咸鸭蛋啦~~普:你找丧彪吗,他昨天…

asp.net core安全事项(上)

隐藏web服务端信息创建一个asp.net core mcv web项目,运行,F12查看返回信息,如下图,会清晰看到服务端的类型是kestrel.有时安全检测要求不能显示服务端信息,这样在一定程度上能降低被 攻击的风险,具体代码如…

云水画中人,独立一江秋

转载于:https://blog.51cto.com/wuliguo/50014

python是c语言_python与c语言

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python语言调用c语言进行扩展,或者增加程序的运行速度都是特别方便的。 同时还能获得与c或者c几…

aes算法实现c语言_以C语言实现归并排序为例,谈谈五大常用算法之一的“分治法”...

分治算法,顾名思义就是“分而治之”,即把规模较大的复杂问题拆分为若干规模较小的类似子问题,并逐个解决,最后再将各个子问题的解决结果合并,得到原始问题的结果的方法。这个技巧是很多高效算法的基础,例如…

一朝读码深似海,不读源码薪难升!读懂.NET5源码,到底多重要?

谈到源码分析,很多人会有这样的疑问:“.NET5的基本功能我已经掌握了,还有读源码的必要吗?”实际上,阅读源码不仅能够帮你更深刻地理解底层设计原理,提升你的系统架构能力和编码功力,还能让你知道…

使用SQL语句获取SQL Server数据库登录用户权限

返回一个报表,报表中包含当前数据库中某对象的用户权限或语句权限的信息。语法sp_helprotect [ [ name ] object_statement ][ , [ username ] security_account ][ , [ grantorname ] grantor ][ , [ permissionarea ] type ]参数[name ] object_statement是当…

如何在 ASP.Net Core 使用 分布式缓存

ASP.Net Core 提供了多种类型的缓存,除了内存缓存和响应缓存之外,还提供了对 分布式缓存 的支持。在之前的一篇文章中,我讨论了 ASP.Net Core 的内存缓存。在本文中,我们将讨论如何在 ASP.Net Core 中使用分布式缓存,本…

50万数据生成6位数不重复字符串_R语言系列3:高级数据管理

R语言系列3:高级数据管理此文内容为《R语言实战》的笔记,人民邮电出版社出版。从高中电脑课学VB开始,大一课内开始学习C,到后来大二为了数模学习Matlab,到大三为了搞深度学习自学Python,到研究生之初学习St…

ぁ。。。爱。。。ぁ

有一老夫妻年逾50.经济条件不错,理当是安享退休的时候,却一起到律师那要办离婚。原因是自从结婚以来,两人争吵不断,老是意见不合。个性上又南辕北辙十分不和谐。二十多年的婚姻生活,要不是为了孩子着想,早就…

python对象_查找Python对象具有的方法

您似乎可以使用此代码,将“对象”替换为您感兴趣的对象: object_methods [method_name for method_name in dir(object) if callable(getattr(object, method_name))] 我在this site发现它.希望这应该提供更多细节! 对于那些获得AttributeErrors的人&am…

fcn网络训练代码_另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题...

使用 CNN 处理图像问题已经是常规操作,但此类方法会造成局部位置信息的损失。如何解决这个问题呢?来自中科院自动化所和北京中医药大学的研究者另辟蹊径,提出用图卷积网络解决语义分割问题。选自arXiv,作者:Yi Lu等&am…

盘点大厂的那些开源项目 - 小米科技

小米是一家以手机、智能硬件和IoT平台为核心的互联网公司,以智能手机、智能电视、笔记本等丰富的产品与服务。致力于让全球每个人都能享受科技带来的美好生活。“为发烧而生”是小米的产品概念。“让每个人都能享受科技的乐趣”是小米公司的愿景。小米公司应用了互联…

python做一个单项选择题系统_(完整版)python选择题word打印版

Python 单选题库 一、 python 语法基础 1 、 Python 3.x 版本的保留字总数是 A.27 B.29 C.33 D.16 2. 语言保留字的是 Python 不是 , 以下选项中 A while B pass C do D except 3. 以下选项中描述错误的是 , 程序格式框架 Python 关于 A Python 语言不采…

博主应邀参加YOCSEF虚拟化技术论坛

发布日期: 2007-11-18 中国计算机学会青年计算机科技论坛<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />CCF Young Computer Scientists & Engineers ForumYOCSEF于<?xml:namespace prefix st1 ns "urn:schema…