【问题标题】:How would I return values in an array that are not in between a lower and upper threshold?我将如何返回不在上下阈值之间的数组中的值?
【发布时间】:2019-10-02 15:51:52
【问题描述】:

我已经知道如何返回一个介于阈值之间的数组的值,但我似乎不知道如何找到落在阈值之外的值。据我了解..我的代码是有道理的..

我已经定义了变量,并说如果我的数组中的任何值小于下限值且高于上限值..返回具有这些值的数组。

 import numpy as np
 def not_in_between(arg1,arg2,arg3): ## defined my array, low 
                                 ##  value, and upper value
     array1 = np.array(arg1)
     lower = np.array(arg2)
     upper = np.array(arg3)
     not_between = array1[((array1 < lower) & (array1 > upper))]
     return not_between

所以如果你有一个数组是 [1,2,3,4] 并且你的下限值是 1 而上限值是 3.. 我希望输出为 4。

【问题讨论】:

  • 我不需要有人编写任何代码我只需要澄清一下为什么这不起作用
  • 我想你的意思是 or | 而不是 and &amp;?
  • ahhh @DanielMesejo 我认为现在一切都说得通了,谢谢
  • 我发现使用“and”代替“&”以及使用“or”代替“|”会有所帮助。让我更清楚我实际在做什么

标签: python arrays


【解决方案1】:
def not_in_between(arg1,lower,upper): ## defined my array, low
                                 ##  value, and upper value
    not_between = [x for x in arg1 if x not in range(lower,upper+1)]
    return not_between
print(not_in_between([1,2,3,4],1,3))

试试这个,希望它能按预期工作。

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 2017-01-16
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多