基于Python中第二个数组的条件,使用条件操作numpy数组



我有两个numpy数组:

d1 = np.array([[1, 2, 1], [4, 3, 4], [4, 9, 0]])
d2 = np.array([[1, 0, 1], [0, 0, 0], [1, 0, 0]])

我想在d1中选择d2的值等于1的值,并根据条件更改d1中的选定值。

例如,我想选择d1的值,其中d21,看看它们是否小于3,如果它们小于3,用10替换它们。因此,结果将是:

np.array([[10, 2, 10], [4, 3, 4], [4, 9, 0]])

我知道如何使用循环,但如果可能的话,我对索引解决方案感兴趣。

您可以在此处使用np.where将两个条件与bitwise AND:链接

np.where((d1<3)&(d2==1), 10, d1)
array([[10,  2, 10],
[ 4,  3,  4],
[ 4,  9,  0]])

最新更新