首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从数据集中检测和丢弃离群值

从数据集中检测和丢弃离群值
EN

Stack Overflow用户
提问于 2020-09-13 00:31:59
回答 2查看 43关注 0票数 0

对于我必须完成的这个练习,我感到有点沮丧。我是python的新手,但有一些使用Matlab的经验,尽管它是完全不同的。

我需要检测数据集中的所有异常值并删除它们。我已经成功地通过IQR和Z得分定位了异常值,并最终得到了一个真和假的列表。这很好,只是我不知道如何访问显示为False的特定行来定位异常数据的确切行,以便将其从数据集中删除。我已经在网络上搜索了几个小时,堆栈溢出,我只是完全被困在这个问题上。任何帮助都是非常感谢的。

错误:

IndexingError:作为索引器提供的不可对齐的布尔级数(布尔级数和索引对象的索引不匹配).enter此处的图像描述

https://i.stack.imgur.com/YGK04.png

EN

回答 2

Stack Overflow用户

发布于 2020-09-13 00:37:00

您可以尝试这样做:

代码语言:javascript
运行
AI代码解释
复制
df = data.iloc[((data['mpg'] >= q1-limit)| (data['mpg'] >= q3+limit)).index, :].reset_index(inplace = True) 
票数 0
EN

Stack Overflow用户

发布于 2020-09-13 00:46:25

嗯,有很多方法可以减少数据,或者在您的情况下,消除异常值。这里有两种标准的方法。第一个使用列表理解,这是python的一个核心特性,非常简单。简单的web搜索可以用来查看许多示例,但在您的情况下,它很适合使用条件语句进行过滤。这可以在基本的python列表上完成。

第二个例子,data2使用了numpy库的一个特性,你可能正在使用这个特性,那就是条件索引。基本上,您可以将条件作为索引并使用它。

代码语言:javascript
运行
AI代码解释
复制
In [5]: data                                                                                              
Out[5]: [1, 5, 66, 2, 33, 400, 26, 201]

In [6]: mean = sum(data)/len(data)                                                                        

In [7]: data_trimmed = [t for t in data if t <= mean]                                                     

In [8]: data_trimmed                                                                                      
Out[8]: [1, 5, 66, 2, 33, 26]

In [9]: import numpy as np                                                                                

In [10]: data2 = np.array(data)                                                                           

In [11]: data2                                                                                            
Out[11]: array([  1,   5,  66,   2,  33, 400,  26, 201])

In [12]: data2_trimmed = data2[data2 <= mean]                                                             

In [13]: data2_trimmed                                                                                    
Out[13]: array([ 1,  5, 66,  2, 33, 26])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63866083

复制
相关文章
try()catch{}写法
当生活像一首歌那样轻快流畅时,笑颜常开乃易事;而在一切事都不妙时仍能微笑的人,是真正的乐观。——威尔科克斯 曾经我们使用java的IO流复制文件时是这么写的 package com.ruben; import java.io.*; import java.util.Optional; /** * @ClassName: FileDemo * @Description: 我还没有写描述 * @Date: 2021/1/10 0010 21:38 * * * @author: <achao1
阿超
2022/08/16
1.3K0
try catch的作用
public static void main(String[] args) { int i; i = 2/0; System.out.println(i); System.out.println(1111111111);
全栈程序员站长
2022/09/07
1.5K0
多层try catch嵌套_方法嵌套一般不超过多少层
<asp:Repeater ID=”rp” runat=”server”> <ItemTemplate> <%# Eval(“id”) %> <asp:Repeater ID=”rp1″ runat=”server” DataSource='<%# GetData(Eval(“id”)) %>’> <ItemTemplate> <%# Eval(“name”) %><br /> </ItemTemplate> </asp:Repeater> <br /> </ItemTemplate> </asp:Repeater>
全栈程序员站长
2022/11/07
7530
try和catch的使用。
// 报错,a找不到,程序终止,不往下继续。 console.log(a) // 放在try里 try { // a不打印 console.log(a) }catch(e){ // e是错误信息 console.log(e) // 弹出123 alert("123") } // 如果放在try中 弹出2 // 否则终止 alert("2") // 使用 let 不变量提升 let a = 0 总结:在使用try和catch时,程序报错但依然可以向下进行(node中系统错误,因为不可预知,需要大量代码来cat
biaoblog.cn 个人博客
2022/08/11
1.8K0
Try catch如何使用[通俗易懂]
浏览器的兼容性是程序员很头痛的事儿,往往一些出错会让我们查找许久,在使用try catch能更好的解决兼容性出错的问题:由于不同浏览器报错提示也不尽相同,通过使用try catch捕获的浏览器的报错提示,来判断用户使用的浏览器,然后做出对应的解决方法;那么,你如果用if,就只能反馈真或假,而不能直接抛出浏览器的报错内容。
全栈程序员站长
2022/08/31
1.9K0
try-catch-finally
总结: 1、finally语句中没有return时,执行完try或catch语句的return之后还会执行finally。(而return的值会暂存在栈里面,等待finally执行后再返回) 2、finally语句中有return时,依然会执行try或catch语句的return,但是最终返回的是finally语句中的return。
用户9854323
2022/06/25
8280
try-catch的性能分析
https://blog.csdn.net/lylwo317/article/details/51869893
葆宁
2019/04/18
1.8K0
try-catch的性能分析
SAP ABAP TRY CATCH
SAP 开发中会遇到两种系统异常,一种是基于异常类的异常,可以通过系统变量SY-SUBRC来进行判断;另外一种是非类异常,系统的异常,例如0作为除数的情况。
matinal
2023/10/13
2960
简单理解try catch和try finally
错误可能是语法错误,通常是程序员造成的编码错误或错别字。也可能是拼写错误或语言中缺少的功能。
PHP学习网
2022/08/03
1.2K0
try catch finally 用法[通俗易懂]
请问答案是:“return value of getValue():0 还是 return value of getValue():1”呢?
全栈程序员站长
2022/09/07
1.5K0
C# try catch finally
 catch 和 finally 一起使用的常见方式是:在 try 块中获取并使用资源,在 catch 块中处理异常情况,并在 finally 块中释放资源。
aehyok
2018/09/11
1.8K0
try catch 对性能影响
之前一直没有去研究try catch的内部机制,只是一直停留在了感觉上,正好这周五开会交流学习的时候,有人提出了相关的问题。借着周末,正好研究一番。
全栈程序员站长
2022/07/04
1.6K0
try catch 对性能影响
[PHP] try catch在日常中的使用
2.finally是不管try或者catch任何一块有return, 最终都会执行的块
唯一Chat
2019/09/10
1.7K0
解决多个io流需要关闭而重复嵌套try-catch-finally的问题
相信大多数人都见过如此状态,流多了需要层层关闭,需要层层加上try-catch,为保证下一个流能关闭又要加上finally,烦人!!
砖业洋__
2023/05/06
5360
解决多个io流需要关闭而重复嵌套try-catch-finally的问题
try catch finally 实现机制
try catch finally如何执行异常时跳转?finally 语句为何一定会执行?
Erossssssss
2021/04/09
2.6K0
try catch finally 实现机制
替代try catch处理异常的优雅方式
小熊学Java个人网站:https://javaxiaobear.gitee.io/
小熊学Java
2023/07/16
4690
替代try catch处理异常的优雅方式
捕获异常try…catch…finally
try:该代码块中编写可能产生异常的代码。 catch:用来进行某种异常的捕获,实现对捕获到的异常进行处理。 finally:有一些特定的代码无论异常是否发生,都需要执行。另外,因为异常会引发程序跳转,导致有些语句执行不到。而finally就是解决这个问题的,在finally代码块中存放的代码都是一定会被执行的。
秋白
2019/02/21
1.3K0
捕获异常try…catch…finally
建议大型项目用上Try Catch建议大型项目用上Try Catch
我们在平时项目做功能的时候,经常会遇到崩溃的情况。如果是我们在开发测试阶段,我们可以找到原因修复。但是遇到已经上线,出现这种问题。要么使用JSPatch进行热修复,但是使用热修复修复苦只有写的人知道。
君赏
2018/08/31
8970
try catch 中的异常怎么处理?
在我们日常开发中, 经常会遇到一些异常需要去手动处理, 或者说是一些可能出现的异常去处理, 又或者说你不知道的异常, 等着暴露出来发现后去处理, 无论哪种异常, 当它出现的时候都是头疼的.
星尘的一个朋友
2020/11/25
1.2K0
给react加try-catch
最近在一个使用fis构建的react.js项目里遇到个问题,render函数里如果发生了运行时错误,比如说某个对象没有判断就直接去访问其属性,那我所知道的就是,页面不正常了,特别是有嵌套子组件的时候,
IMWeb前端团队
2017/12/29
3.2K0

相似问题

嵌套的try catch

20

嵌套Try/Catch块

10

避免嵌套的try/catch

31

将异常传递给嵌套Try/Catch中的更高Try/Catch [需要嵌套]

113

异步/等待嵌套try/catch

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