检测并排除 pandas DataFrame 中的异常值

2023-11-26

我有一个只有几列的熊猫数据框。 现在我知道某些行是基于特定列值的异常值。 例如 柱子Vol所有值都在 12xx 左右,其中一个值为 4000(异常值)。 我想排除那些有Vol像这样的专栏。

因此,本质上我需要在数据框中放置一个过滤器,以便我们选择特定列的值在平均值的 3 个标准差之内的所有行。

实现这一目标的优雅方法是什么?


Use scipy.stats.zscore

删除至少一列中存在异常值的所有行

如果您的数据框中有多列,并且想要删除至少一列中具有离群值的所有行,则以下表达式将一次性完成此操作:

import pandas as pd
import numpy as np
from scipy import stats

df = pd.DataFrame(np.random.randn(100, 3))

df[(np.abs(stats.zscore(df)) < 3).all(axis=1)]

描述:

  • 对于每一列,它首先计算列中每个值的 Z 分数 列,相对于列平均值和标准差。
  • 然后它采用绝对 Z 分数,因为方向不 仅当其低于阈值时才重要。
  • ( < 3).all(axis=1)检查每行的所有列值是否均在平均值的 3 个标准差范围内
  • 最后,该条件的结果用于索引数据帧。

根据单个列过滤其他列

与上面相同,但指定一列zscore, df[0]例如,并删除.all(axis=1).

df[np.abs(stats.zscore(df[0])) < 3]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测并排除 pandas DataFrame 中的异常值 的相关文章

  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • 通过列表理解压平列表列表

    我正在尝试使用 python 中的列表理解来展平列表 我的清单有点像 1 2 3 4 5 6 7 8 只是为了打印这个列表列表中的单个项目 我编写了这个函数 def flat listoflist for item in listoflis
  • 如何在 pytest 中将单元测试和集成测试分开

    根据维基百科 https en wikipedia org wiki Unit testing Description和各种articles https techbeacon com devops 6 best practices inte
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 为什么在 Python 2.4 中使用 Unicode 数据会出现 ASCII 编码错误,而在 2.7 中却不会?

    我有一个程序 当在 Python 2 7 中运行时 会生成正确的 Unicode 输出到标准输出 当在 Python 2 4 中运行时 我得到UnicodeEncodeError ascii codec can t encode chara
  • python suds SOAP 请求中的名称空间前缀错误

    我使用 python suds 来实现客户端 并且在发送的 SOAP 标头中得到了错误的命名空间前缀 用于定义由element ref 在 wsdl 中 wsdl 正在引用数据类型 xsd 文件 请参见下文 问题出在函数上GetRecord
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni
  • 在 pytube3 中获取 youtube 视频的标题?

    我正在尝试构建一个应用程序来使用 python 下载 YouTube 视频pytube3 但我无法检索视频的标题 这是我的代码 from pytube import YouTube yt YouTube link print yt titl
  • 无法在 osx-arm64 上安装 Python 3.7

    我正在尝试使用 Conda 创建一个带有 Python 3 7 的新环境 例如 conda create n qnn python 3 7 我收到以下错误 Collecting package metadata current repoda
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 如何为每个屏幕添加自己的 .py 和 .kv 文件?

    我想为每个屏幕都有一个单独的 py 和 kv 文件 应通过 main py main kv 中的 ScreenManager 选择屏幕 设计应从文件 screen X kv 加载 类等应从文件 screen X py 加载 Screens
  • Ubuntu 上的 Python 2.7

    我是 Python 新手 正在 Linux 机器 Ubuntu 10 10 上工作 它正在运行 python 2 6 但我想运行 2 7 因为它有我想使用的功能 有人敦促我不要安装 2 7 并将其设置为我的默认 python 我的问题是 如
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户
  • 列表值的意外更改

    这是我的课 class variable object def init self name name alias parents values table name of the variable self name 这是有问题的函数 f

随机推荐

  • 实现后密封接口

    我正在做一个小项目 我遇到了这个问题 项目输出是一个包含接口的库 如果可能的话 我想实现该接口并密封其中的功能 public interface ITest void SomeMethod class A ITest public seal
  • 如何从扩展中退出 Chrome?

    我正在开发 Chrome 扩展程序 有时我需要退出浏览器进程 我尝试使用以下代码关闭所有窗口 chrome windows getCurrent function window chrome windows remove window id
  • git-clone 和结帐后钩子

    根据手册 post checkout钩子在 a 之后运行git checkout 正如预期的那样 而且经过git clone 除非你通过 no checkout 很好 现在考虑以下几点 您之前没有本地存储库git clone 挂钩在遥控器之
  • Angular 6:如何根据滚动突出显示导航栏上的元素?

    我正在 Angular 6 中制作一个页面 这是一个简单的页面 我想强调一下navbar取决于滚动 这是我的代码 sticky position sticky top 0 i ul list style type none margin 0
  • extbase 存储库 findAll() 返回结果 null

    我有几个这样的控制器 CategoryController 和 NewsController 以及类别和新闻的领域模型以及两者的存储库 在 NewsController 中 我执行如下的 dependencyInjection 与在cate
  • 如何在 React 中访问 DOM 元素? React 中的 document.getElementById() 相当于什么

    如何在react js中选择某些栏 这是我的代码 var Progressbar React createClass getInitialState function return completed this props complete
  • 为什么使用 pandas apply 时会出现 AttributeError 错误?

    我应该如何根据条件将 NaN 值转换为分类值 我在尝试转换 Nan 值时遇到错误 category gender sub category title health beauty NaN makeup lipbalm health beau
  • jQuery UI 滑块 - 根据拖动方向选择重叠滑块

    我有这个简单的 jQuery UI 滑块设置 其中包含一个范围和两个重叠的默认值 整个事情 还有一些花里胡哨的东西 可以在这个 jsfiddle 中找到 http jsfiddle net yijian XeyGS slider slide
  • pandas.read_csv:如何跳过注释行

    我想我误解了 read csv 的意图 如果我有一个文件 j 例如 notes a b c more notes 1 2 3 我怎样才能 pandas read csv 这个文件 跳过任何 注释行 我在帮助中看到不支持行的 注释 但它指示应
  • PHP 文件列出多个文件扩展名

    这是我当前的代码 files glob jpg 这很好用 但是 我想列出其他图像类型 例如 png gif 等 我可以请一些帮助来修改上面的代码以使其正常工作吗 我尝试了以下方法但没有成功 files glob jpg png gif fi
  • Web应用程序:框架还是不框架?

    我了解 PHP 并且刚刚开始使用 MySql 但计划使用 ODBC 我不需要任何书籍来解释这一点 我可能有资格开发一个简单的网站 但目标是开发相当雄心勃勃的应用程序 我想几乎所有的网络应用程序都有一些共性 比如安全性 可扩展性等 例如 我完
  • will_paginate 报告太多条目和页面

    我使用 will paginate 来显示从包含联接和 select 语句的查询返回的数据 当我对数据进行分页时 条目数等于执行 select 语句之前的条目数 即使在查询之后调用分页 并且查询包含的元素比分页报告少 sales Sale
  • 如何更改 Octave 中的工具包?

    当我执行时我的 Octave 崩溃了plot命令 我找到了一个解决方案阿萨德 易卜拉欣的回答 他提到将默认工具包切换为gnuplot 并将其更改为octave rc文件 如果我想永久进行更改 但我不清楚永久更改octaverc 当我打开我的
  • 将字符串数据从线程发送到主窗体

    在Dephi中 我创建一个线程 像这样 它会不时向主窗体发送消息 Procedure TMyThread SendLog I Integer Var Log array 0 255 of Char Begin strcopy Log PCh
  • 如何在两个屏幕之间使用块模式

    我的 main dart 文件如下所示 home MultiBlocProvider providers BlocProvider
  • 在同一上下文中使用 Spring Boot 2 OAuth 客户端和资源服务器

    我希望我的 Spring Boot 应用程序能够为受保护的前端提供服务 同时作为该前端的 API 资源服务器 但我无法让 oauth 的东西正常工作 我想要的是当浏览器请求没有令牌的index html时 Spring Boot应用程序返回
  • NSTextField 点击率?

    我有一个静电NSTextField它覆盖了我的 OS X 应用程序中的一条大错误消息 我试图让它允许用户单击其下方的控件 在 IB 中 我取消选中 启用 并选中 拒绝第一响应者 我也在代码中完成了它 因为那不起作用 largeErrorTe
  • 是否建议在 helm 之后使用 kustomize ?

    有时 当我使用 helm 图表时 并非所有我想要修改的内容都可以与给定值一起使用 使用 kustomize 修改渲染的 Helm Chart 是否实用 像这样 图表 gt helm 模板 gt kustomize gt kubectl 部署
  • 通信链路故障 - 从服务器成功接收的最后一个数据包是[重复]

    这个问题在这里已经有答案了 我知道这个问题以前已经被问过 并且有很多解决方案 但它们都不适合我 而且对我来说有点不同 我有一台带有数据库的服务器 该数据库通过隧道连接到其他服务器 运行ubuntu 1310和1204的服务器没有任何问题 但
  • 检测并排除 pandas DataFrame 中的异常值

    我有一个只有几列的熊猫数据框 现在我知道某些行是基于特定列值的异常值 例如 柱子Vol所有值都在 12xx 左右 其中一个值为 4000 异常值 我想排除那些有Vol像这样的专栏 因此 本质上我需要在数据框中放置一个过滤器 以便我们选择特定