如何检查 3D 数组 numpy 的内部

How to check inner part of 3D array numpy

我有一个 3D 数组 a = np.array([[[1,1],[1,1]],[[1,0],[1,0]]]),我需要检查哪些成员等于 [1,1] 并将所有其他成员设置为 [0,0] 我应该如何处理这个问题?

您可以使用 numpy.where 和适当的轴来查找子数组。假设您可以分配一个新值:

import numpy as np

a = np.array([[[1, 1],
            [1, 1]],

           [[1, 0],
            [1, 0]],

           [[1, 1],
            [1, 0]]
])
a[np.where(np.all(a == [1,1], axis=2))] = [0, 0]

这会给你一个 a 与:

array([[[0, 0],
        [0, 0]],

       [[1, 0],
        [1, 0]],

       [[0, 0],
        [1, 0]]])