У меня есть фрейм данных Pandas с индексами даты и времени и одним столбцом. Индексы даты и времени не располагаются регулярно (но упорядочиваются), и соответствующие значения в столбце являются либо числами, либо NaN.
Моя цель состоит в том, чтобы интерполировать эти записи в почасовые значения даты / времени. Я могу сделать это с помощью следующего фрагмента:
df = dataframe.resample('H')
interpolated = df.interpolate(method='linear')
, где dataframe - мой необработанный фрейм данных, а interpolated - интерполированный фрейм данных.
Это прекрасно работает, но проблема в том, что эта функция, похоже, интерполирует значения NaN, а это не то, что мне нужно. В идеале, я хотел бы, чтобы функция возвращала NaN, если она пытается интерполировать между двумя записями, по крайней мере, одна из которых - NaN (поэтому, если я интерполирую между NaN и NaN: вернем NaN; если я интерполирую между NaN и 5: вернем NaN; еслиЯ интерполирую на полпути между 3 и 5: вернем 4).
Я мог бы написать свой собственный интерполатор грубой силы, который делает это, но я бы предпочел получить контроль над Пандами. Это кажется довольно простой проблемой - кто-нибудь знает способ достижения этого?