Python 使用numpy屏蔽阵列

Python 使用numpy屏蔽阵列,python,numpy,Python,Numpy,我有一个数组,我想屏蔽它,这样我就可以保持它的形状,也就是说,不删除屏蔽的元素 例如,在本代码中 input = torch.randn(2, 5) mask = input > 0 input = input[mask] input = input *1000000000000 print(input) 打印输入是对未屏蔽元素进行上述数学运算的结果,并返回不带屏蔽元素的1D数组。执行input=input[mask]操作时,您正在覆盖原始数组。如果省略该步骤,则可以在位修改遮罩值,

我有一个数组,我想屏蔽它,这样我就可以保持它的形状,也就是说,不删除屏蔽的元素

例如,在本代码中

input = torch.randn(2, 5)

mask = input > 0
input = input[mask]
input = input *1000000000000

print(input)

打印输入是对未屏蔽元素进行上述数学运算的结果,并返回不带屏蔽元素的1D数组。

执行
input=input[mask]
操作时,您正在覆盖原始数组。如果省略该步骤,则可以在位修改遮罩值,但保持非遮罩值不变

i = np.random.randn(2, 5)

print(i)
[[ 0.48857855  0.97799014  2.29587523 -2.37257331  1.28193921]
 [ 0.62932172  1.37433223 -1.2427145   0.31424802  1.34534568]]

mask = i> 0
i[mask] *= 1000000000000

print(i)

[[ 4.88578545e+11  9.77990142e+11  2.29587523e+12 -2.37257331e+00 1.28193921e+12]
 [ 6.29321720e+11  1.37433223e+12 -1.24271450e+00  3.14248021e+11 1.34534568e+12]]

谢谢,如果我添加的是我的“I”数组到另一个数组,即insead 100000000,我添加的是np.random.randn(2,5)。我怎样才能保持相同的形状?我不太清楚你的意思,你能提出一个新问题来提供一个例子吗?