我有一个包含多个相同大小数组的列表。我想创建一个具有相同形状的 0-1 数组,其中列表中等于用户定义值的每个元素都应在 0-1 数组中设置为 0。
import numpy as np
y = ([np.array([[1., 0., 0.],
[0., 0., 1.],
[0., 0., 1.]], dtype='float32'),
np.array([[0., 0., 1.],
[0., 0., 1.],
[1., 0., 0.]], dtype='float32'),
np.array([[ 0., 0., 1.],
[ 1., 0., 0.],
[-100., -100., -100.]], dtype='float32')])
x = np.ones_like(y)
x[y == -100.] = 0
print(x)
array([[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]],
[[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]]], dtype=float32)
在当前版本中,
x
中的每个元素都设置为1。如果我将concatenate
用于y
,它可以工作,但它不再是相同的形状。