屏蔽的2D数组替换值操作不能在numpy中工作

时间:2015-09-16 03:00:28

标签: python numpy

我想基于另一个数组的掩码替换2D numpy数组的值。这个想法是arr_b中的值应该在arr_a值等于0.4的位置设置为0.8。 arr_a和arr_b都将具有相同的大小。为了这个玩具示例的目的,您可以假设arr_a具有0.4的sevreral值。但代码不起作用:

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)

有人可以告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您的数组定义错误,因为您可以在错误消息中阅读。

arr_a = numpy.random.random((20,40))