Игнорировать определенные значения в интерполяции scipy (NaN, в маске, ноль...) ⇐ Python

Программы на Python
Anonymous
Игнорировать определенные значения в интерполяции scipy (NaN, в маске, ноль...)

Сообщение Anonymous »

Я хочу интерполировать набор данных с координатной сеткой, используя Python. Например, если у меня есть массив размером 10x10, он должен стать 20x20 с интерполяцией (линейной, кубической) добавленных значений. Проблема в том, что данные НЕ полностью представлены в обычном формате сетки, поэтому значения за пределами целевой области следует игнорировать при интерполяции. Допустим, все зеленые данные вокруг границ следует игнорировать:
Изображение

Если их не игнорировать, это приведет к искажению интерполяции на границе. Это потенциальное решение не делает то, что я ищу. Нет ли простого решения игнорировать значения NaN или замаскированные данные?
Я уже много часов бьюсь над этой проблемой и пытался решить это с помощью: Но у меня это не работает.
Единственный хак, который я смог сделать, это установить все значения за пределами целевой области до очень большого числа, например 999999, а затем замаскировать все значения, которые превышают самые высокие значения внутри целевой области. Понятно, что это будет работать только для метода интерполяции линейный. Поэтому я думаю, что для большинства случаев это неподходящее решение

Подробнее здесь: https://stackoverflow.com/questions/408 ... asked-zero

Вернуться в «Python»