我有两个 3D numpy 数组。我想将 b 与 a 进行比较,然后仅保留 b 中存在于 a 中的元素 for axis=0。
a=
np.asarray([[[-0.5, -0.5, 0.5],
[-0.5, 0.5, 0.5],
[-0.5, -0.5, -0.5]]])
b=
np.asarray([[[-0.5, -0.5, 0.5],
[-0.5, 0.5, 0.5],
[-0.5, -0.5, -0.5]],
[[ 0.5, -0.5, -0.5],
[-0.5, -0.5, 0.5],
[-0.5, -0.5, -0.5]]])
我试过np.where(np.any((b==a), axis=0, keepdims=True),a, b)
我得到的输出是:
array([[[-0.5, -0.5, 0.5],
[-0.5, 0.5, 0.5],
[-0.5, -0.5, -0.5]],
[[-0.5, -0.5, 0.5],
[-0.5, 0.5, 0.5],
[-0.5, -0.5, -0.5]]])
如何将输出作为仅数组 a 元素? 预期输出:
op_array = array([[[-0.5, -0.5, 0.5],
[-0.5, 0.5, 0.5],
[-0.5, -0.5, -0.5]]])
使用 numpy-compare-two-3d-array-and-find-identical-arrays 作为参考。