如果在IQR之外,请删除列表中的项目

乔纳森·戴维斯(Jonathan Davies)

我正在尝试从列表中删除一个项目,如果该项目不在中位数的四分位数范围之内。

这是清单:

l = [69, 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 87, 89]

IQR,中位数以及中位数以上和以下均用于 import numpy as np

iqr = np.subtract(*np.percentile(l, [75, 25]))
median = np.percentile(l, 50)
minus = median - iqr
plus = median + iqr

负数是69,正数是71(使用中位数上下的IQR)

但是,当遍历列表并尝试删除iqr上方/下方的项目(87、89)时。它们不会从列表中删除。

for i in l:
    if i < minus:
        del i
    if i > plus:
        del i

当我打印列表时,它仍然显示87、89。

帕德拉克·坎宁安(Padraic Cunningham)
for  ele in l[:]:
    if ele < minus or ele > plus:
        l.remove(ele)

您必须复制ll[:]并使用来更改实际列表本身l.remove

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果在特定元素之外单击,请删除具有特定类的所有元素

如果在另一个列表(列表列表)中,则从列表中删除项目

如果在列B中找不到A列中的值,请删除R中的行

如果在记事本++中存在,请删除行尾的斜杠

如果在列表中未找到红色通道,请替换所有像素

如果在列表理解中

如果在JavaScript中是冬天,请更改粒子

如果在PHP中重复超过特定数量,如何从数组中删除项目?

如果在浏览器窗口之外,请更改工具提示位置

V-如果在V-内部-在两列中显示项目列表

如果在Woocommerce中应用了任何优惠券代码,请删除一些支付网关

如果在Tkinter中else语句删除了if语句

如果在非连续行上以特定字符开头,请删除换行

如果在div之后退出,请删除div并将其放入主div内

如果在另一个列表中找到特定属性,则从列表中删除元素

否则,如果在Python3中的列表理解

如果在此列表中理解如何使用

比较列表(如果在SQL表中)

如果在列表中vs循环中(性能)

如果在Java中 如果在C ++中

JavaScript:如果在特定索引中发现重复值,是否有从数组中删除项目的函数?

如果在使用计算的ORDER BY时指定了SELECT DISTINCT,则ORDER BY项目必须出现在选择列表中

CMD批处理文件,如果在文本txt文件的列表中找不到文件,则删除文件

如果在Python中元组包含彼此相邻的两个“ 1”,如何从列表中删除元组?

如果在Google表单中写入了特定的值,请发送电子邮件

如果在 Laravel 中设置了任何操作参数,请做一些事情

如果在下面的行中重复,请替换字符

如果在 Selenium Python 中未选中复选框,请选中它

如果在 kotlin 的嵌套列表中找到元素,则删除列表