我使用Python numpy的阵列替换的值(转换成2D阵列栅格,特异性)和我想要做的是采取具有-999任意虚拟值一个阵列表示“无数据”,我想从一个不同的阵列中的正确的位置相同的大小和形状与相应的“真实”值替换那些值。我找不到一个非常类似的问题,但请注意,我是Python和Numpy的新手。的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'](https://docs.scipy.org/doc/numpy/user/basics.indexing.html#boolean-or-mask -index阵列)。 – Divakar
是的,我看了一下,我能够掩饰出array_a中的-999值,使用此: mask_a = ma.masked_where(array_a <-1,array_a) 但那又如何?我刚刚删除了-999值,我不知道如何从array_b中的值到相同的位置? – Matt