首页 > 解决方案 > 在numpy中,如何比较轴中的所有值

问题描述

对于 numpy 数组,只有当轴上的所有元素都等于另一个数组时,我才能更改值?例如...

array = np.array([[1, 0, 1],
                  [0, 0, 1],
                  [1, 1, 0],
                  [0, 0, 0],
                  [1, 0, 1]])

我想[1, 0, 1][1, 1, 1]... 替换所有内容,这样array就变成了

array([[1, 1, 1],
       [0, 0, 1],
       [1, 1, 0],
       [0, 0, 0],
       [1, 1, 1]])

当我使用布尔数组时,它会检查每个单独的数字。我怎样才能一次比较整行呢?

标签: pythonnumpy

解决方案


尝试:

array[(array == [1, 0, 1]).all(axis=1)] = [1, 1, 1]

推荐阅读