Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 20, 2016 13:24:14

viro007
Зарегистрирован: 2016-11-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

интерполировать массив в 2 раза

Коллеги, вторые сутки не могу понять как интерполировать массив на 66 точек в массив на 100 точек (для возможности последующего поточечного сравнения с известным массивом на 100 точек).

например есть 6 точек

 [1., 3., 5., 7., 8., 10]
а выставив 12 точек нужно получить, можно как промежуточный этап что то вроде
 [1., np.nan., 3.,  np.nan., 5., np.nan(New)., np.nan., 7., np.nan(New)., 8., np.nan., 10]
далее я могу проинтерполировать промежуточные значения.

Знаю как реиндексировать - pandas.series.reindex(), но он просто добавляет nan в конец, а не растягивает.
Знаю как интерполировать промежуточные значения - pandas.series.interpolate(), перегнав назад в array, но там где уже есть NaN в ряде. Но как сделать вышеуказанное не понимаю. Помогите плиз!

Отредактировано viro007 (Ноя. 21, 2016 22:43:56)

Офлайн

#2 Ноя. 20, 2016 13:31:52

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

интерполировать массив в 2 раза

Посмотрите в сторону: scipy.ndimage.interpolation.zoom

 x = np.random(66)
y = zoom(x, 100/66.)
np – numpy, в pandas по-моему он также есть как pandas.np

Отредактировано scidam (Ноя. 20, 2016 13:33:43)

Офлайн

#3 Ноя. 21, 2016 22:44:32

viro007
Зарегистрирован: 2016-11-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

интерполировать массив в 2 раза

Работает! Спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version