我想根据另一个数组的掩码替换 2D numpy 数组的值。这个想法是,在 arr_a 值等于 0.4 的位置,应将 arr_b 中的值设置为 0.8。 arr_a 和 arr_b 始终具有相同的大小。出于此简单示例的目的,您可以假设 arr_a 的多个值为 0.4。但代码不起作用:
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)
有人可以告诉我如何解决这个问题吗?
最佳答案
您的数组定义是错误的,您可以在错误消息中看到。
arr_a = numpy.random.random((20,40))
关于python - 屏蔽二维数组替换值操作在 numpy 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32599048/