python - 屏蔽二维数组替换值操作在 numpy 中不起作用

标签 python numpy

我想根据另一个数组的掩码替换 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/

相关文章:

python - 如何通过 Python 使用 GeckoDriver 和 Firefox 使 Selenium 脚本无法检测到?

python - pandas 中的嵌套 ifelse 替代方案

python - 这是什么样的 reshape ,为什么要使用它?

python - IDL 的 INT_TABULATE - SciPy 等价物?

Python广播: how to unleash NumPy speed when filling in a One-Hot vector?

python - 如何扩展 Pytorch 损失函数

python - 无法通过用户输入引发异常

python - 在 Python 中使用 scikit-learn kmeans 对文本文档进行聚类

python - Django:如何测试 'HttpResponsePermanentRedirect'

python - 使用 pyx/pxd 文件中的函数工厂为 C 库生成 cython 函数包装器