Я хочу заменить число на NaN в numpy и ищу функцию, подобную 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, а массив - это пустой массив.
Может быть, замаскированный массив - это путь?
arrayв качестве переменной, чтобы избежать путаницы с np.array, но, что наиболее важно, будет ужасно медленным по сравнению с типичная индексация и трансляция numpy. - person Paul   schedule 15.07.2011