我有两个2d numpy数组:
X2d = np.array([[0,4,5,0],
[7,8,4,3],
[0,0,9,8]])
Y2d = np.array([[1,0,4,8],
[0,3,8,5],
[0,6,0,8]])
#and I would like to get these two:
X2dresult = np.array([[0,0,5,0],
[0,8,4,3],
[0,0,0,8]])
Y2dresult = np.array([[0,0,4,0],
[0,3,8,5],
[0,0,0,8]])
所以基本上我需要保持两个矩阵都大于0的位置。我能用吗努比。哪里函数或类似的东西来得到这些结果? 谢谢
设
Z = ((X2d > 0) & (Y2d > 0))
,则Z[i,j] = True
当且仅当X2d[i,j] > 0
和Y2d[i,j] > 0
现在
X2dresult = Z * X2d
,所以X2dresult[i,j] = Z[i,j] * X2d[i,j]
,如果Z[i,j] = False
和X2d[i,j]
如果Z[i,j] = True
,则为0。(因为int(True) = 1
和int(False) = 0
)因此,在
X2dresult
数组中,所有元素都0
位于X2d
或Y2d
具有0
的位置。你知道吗您可以使用位AND或AND ^{} :
我认为按位
OR
读起来更好更清晰:相关问题 更多 >
编程相关推荐