У меня есть поле скорости с координатной сеткой, которое я хочу интерполировать в Python. В настоящее время я использую RectBivariateSpline
scipy.interpolate для этого, но я хочу иметь возможность определять края моего поля, устанавливая определенные значения в сетке в NaN. Однако, когда я делаю это, интерполяция всей сетки нарушается, фактически делая ее NaN везде. По-видимому, это ошибка в scipy fitpack, так что лучше всего обойти это? Я хочу иметь возможность сохранить NaN в сетке, чтобы позже работать с краями и за пределами границ, но я не хочу, чтобы это влияло на интерполяцию в остальной части сетки.
Игнорирование NaN при интерполяции сетки в Python
Ответы (2)
Все языки, которые правильно реализуют числа с плавающей запятой (включая python), позволяют вам проверять NaN, сравнивая число с самим собой.
x
не равно x
тогда и только тогда, когда x
равно NaN.
Вы сможете использовать это для соответствующей фильтрации набора данных.
person
Bathsheba
schedule
22.02.2016
Конечно, но это не проблема. Проблема заключается в использовании
RectBivariateSpline
в сетке, где некоторым элементам разрешено быть NaN. Я не хочу отфильтровывать NaN, я хочу сохранить их, не позволяя им испортить интерполяцию.
- person Abobie; 23.02.2016
Вам придется их каким-то образом отфильтровать. Какое значение вы хотели бы принять для этих узлов?
- person Bathsheba; 23.02.2016
Подгонка/интерполяция сплайнов носит глобальный характер, поэтому вполне вероятно, что даже один nan
испортит всю сетку.
person
ev-br
schedule
23.02.2016