【发布时间】:2017-09-21 07:06:55
【问题描述】:
我正在使用 Python Numpy 数组(特别是栅格转换为 2D 数组),我想要做的是采用一个具有 -999 表示“无数据”的任意虚拟值的数组,我想将这些值替换为来自正确位置的相同大小和形状的不同数组中对应的“真实”值。我找不到与此非常相似的问题,但请注意,我是 Python 和 Numpy 的新手。
但我想做的是:
array_a =
([[0.564,-999,-999],
[0.234,-999,0.898],
[-999,0.124,0.687],
[0.478,0.786,-999]])
array_b =
([[0.324,0.254,0.204],
[0.469,0.381,0.292],
[0.550,0.453,0.349],
[0.605,0.582,0.551]])
用array_b的值填充array_a中的-999值,创建一个新数组:
new_array_a =
([[0.564,0.254,0.204],
[0.234,0.381,0.898],
[0.550,0.124,0.687],
[0.478,0.786,0.551]])
我真的不想更改数组的形状或尺寸,因为我要在之后转换回栅格,所以我需要在正确的位置有正确的值。 最好的方法是什么?
【问题讨论】:
-
查看
masking。 -
是的,我对此进行了调查,并且能够使用以下命令屏蔽掉 array_a 中的 -999 值: mask_a = ma.masked_where(array_a
标签: python arrays python-2.7 numpy