我想在numpy中用NaN替换一个数字,我正在寻找像numpy.nan_to_num这样的函数,反之亦然。
当处理不同的数组时,数字可能会发生变化,因为每个数组都可以唯一定义NoDataValue。我看到人们使用字典,但阵列很大,充满了正面和负面的浮动。我怀疑尝试将所有这些加载到任何东西以创建密钥是没有效率的。
我尝试使用以下和numpy要求我使用any()或all()。我意识到我需要迭代元素,但希望内置函数可以实现这一点。
def replaceNoData(scanBlock, NDV):
for n, i in enumerate(array):
if i == NDV:
scanBlock[n] = numpy.nan
NDV是GDAL没有数据值,数组是一个numpy数组。
蒙面数组是否可以走?
答案 0 :(得分:41)
A[A==NDV]=numpy.nan
<= A == NDV将产生一个布尔数组,可用作A 的索引