Numpy逻辑和两个带筛选器的数组之间


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

输出:错误

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

在您的示例中,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])

相关内容

  • 没有找到相关文章

最新更新