如何检查 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]]])
我有一个 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]]])