【问题标题】:Numpy logical and between two array with filterNumpy 逻辑和两个带过滤器的数组之间
【发布时间】:2020-03-08 15:34:04
【问题描述】:
x = [1,1,1,1]
y = [1,1,1,1]
np.logical_and(x == 1, y == 1)

输出:假

我期待[True, True, True, True] 的输出。如何做到这一点?

【问题讨论】:

    标签: python arrays numpy logical-operators


    【解决方案1】:

    在您的示例中,xy列表 而不是数组。当您使用== 将列表与整数进行比较时,您将始终得到False

    >>> [1,1,1,1] == 1
    False
    >>> [1,1,1,1] == 1
    False
    >>> np.logical_and(False, False)
    False
    

    您必须将它们转换为数组,因为数组实现 == 以按元素工作:

    >>> x = np.array([1, 1, 1, 1])
    >>> x == 1
    array([ True,  True,  True,  True])
    
    >>> x = np.array([1, 1, 1, 1])
    >>> y = np.array([1, 1, 1, 1])
    >>> np.logical_and(x == 1, y == 1)
    array([ True,  True,  True,  True])
    

    【讨论】:

      猜你喜欢
      • 2021-11-24
      • 2013-11-19
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      • 2018-03-10
      • 2018-04-19
      • 2015-02-11
      • 1970-01-01
      相关资源
      最近更新 更多