我想根据另一个数组中的遮罩来替换2D numpy数组的值。这个想法是,在arr_a值等于0.4的位置,arr_b中的值应该设置为0.8。 arr_a和arr_b总是具有相同的大小。对于这个玩具的例子,你可以假设arr_a的值是0.4。但代码不起作用:遮罩的二维数组替换值操作在numpy中不起作用
import numpy
arr_a = numpy.random.rand(20,40)
arr_b = numpy.random.rand(20,40)
arr_a[0,1] = 0.4
mask_cntr = numpy.ma.masked_not_equal(arr_a[:], 0.4)
ma_arr = numpy.ma.masked_where(mask_cntr, arr_b)
ma_arr.filled(fill_value = 0.8)
有人能告诉我如何解决这个问题吗?
这是怎么回事,这是怎么回事?你为什么使用'np.ma'方法? – hpaulj