当前位置: 首页 > 面试题库 >

是否有一个内置的numpy来拒绝列表中的离群值

郭洋
2023-03-14
问题内容

是否有内置的numpy来执行以下操作?也就是说,获取一个列表d并返回一个列表filtered_d,该列表中基于的点的某些假定分布删除了所有外围元素d

import numpy as np

def reject_outliers(data):
    m = 2
    u = np.mean(data)
    s = np.std(data)
    filtered = [e for e in data if (u - 2 * s < e < u + 2 * s)]
    return filtered

>>> d = [2,4,5,1,6,5,40]
>>> filtered_d = reject_outliers(d)
>>> print filtered_d
[2,4,5,1,6,5]

我之所以说“类似”,是因为该函数可能允许变化的分布(泊松,高斯等)和这些分布内的异常阈值(如m我在这里使用的)。


问题答案:

方法与您的方法几乎相同,只是更多的numpyst(仅适用于numpy数组):

def reject_outliers(data, m=2):
    return data[abs(data - np.mean(data)) < m * np.std(data)]


 类似资料:
  • 问题内容: 我有2个点列表作为numpy.ndarray,每行是一个点的坐标,例如: 在这里,我想计算2个列表中所有对点之间的欧几里得距离,对于a中的每个点p_a,我想计算它与b中每个点p_b之间的距离。所以结果是 如何在numpy中使用矩阵乘法来计算距离矩阵? 问题答案: 使用直接的numpy广播,您可以执行以下操作: 另外,有一个例程可以稍微提高效率(特别是对于大型矩阵) 我将避免依赖于分解矩

  • 问题内容: python是否有不可变的列表? 假设我希望具有元素的有序集合的功能,但是我想保证不会改变,那么如何实现呢?列表是有序的,但可以更改。 问题答案: 是。称为。 所以,相反的是一个和可以突变,是,不能。 更多的信息: 不能通过编写实例化一个元素,而是需要编写。这是因为解释器在括号中还有其他用途。 您也可以完全取消括号:与 请注意,元组不是 完全 不可变的列表。单击此处以了解有关列表和元组

  • 问题内容: 我是相对较新的Python转换者。我编写了一些代码来从各种来源获取/绘制数据,以使每周的报告和预测自动化。我对Jython的概念很感兴趣,并想移植一些我写给Jython的Python代码。为了快速完成此任务,我需要一个Jython(或Java)的NumPy克隆。那里有这样的东西吗? 问题答案: 我找不到任何的numpy的一个克隆,但还有很长的Java的NUMERICS包列表在这里 -这

  • 行动时刻 - 拒绝没有领域的请求 以下步骤将演示如何拒绝没有领域的请求: 编辑FreeRADIUS配置目录下的proxy.conf文件,并确保my-org.com域没有nostrip指令(它包含在上一个练习中)。 编辑已sites-enabled/default(启用站点的/默认文件),并在授权部分中的后缀条目之后添加以下unlang代码。 这将拒绝任何没有领域的用户名请求: if( reques

  • 问题内容: 根据sysobjects文档,可以是以下对象类型之一: 我可以将它们放到语句中,但是有没有我可以加入的表来查找该描述?我知道不是那张桌子。我的意思是,我已经记住了很多,但是我正在对数据库进行一些研究,这对我来说是陌生的(即我对此一无所知),所以我想构建将该描述放入此查询中,而无需声明: 更新 下面是SQLMenace回答后的最终结果。我觉得有必要将其放置在这里,因为这不仅仅是直截了当的

  • 问题内容: 我有两个清单说 现在,我想找出List2中是否存在List1的所有元素。在这种情况下,就全部存在。我不能使用子集函数,因为我可以在列表中重复元素。我可以使用for循环来计算List1中每个项目的出现次数,并查看它是否小于或等于List2中的出现次数。有一个更好的方法吗? 谢谢。 问题答案: 当出现次数无关紧要时,您仍可以通过动态创建集合来使用子集功能: 如果需要检查每个元素在第二个列表