Неожиданное поведение pandas.Series.resample()Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Неожиданное поведение pandas.Series.resample()

Сообщение Anonymous »

У меня есть временной ряд в нерегулярной временной сетке. Я хотел бы линейно интерполировать эти данные в регулярную сетку времени. В качестве упрощенного примера рассмотрим следующий код:

Код: Выделить всё

import pandas as pd

data = {'2020-01-01': 0.0,
'2020-01-02': 5.0,
'2020-01-05': 2.0}
series = pd.Series({pd.to_datetime(x): y for x, y in data.items()})
series_interp = series.resample('2D').interpolate()

print(series_interp)
Если я выполню эту интерполяцию вручную, я ожидаю следующий результат:

Код: Выделить всё

# 2020-01-01    0.0
# 2020-01-03    4.0
# 2020-01-05    2.0
# Freq: 2D, dtype: float64
Однако приведенный выше код дает:

Код: Выделить всё

# 2020-01-01    0.0
# 2020-01-03    1.0
# 2020-01-05    2.0
# Freq: 2D, dtype: float64
Очевидно, что значение на 03.01.2020 было рассчитано путем интерполяции между значениями на 01.01.2020 и 05.01.2020. Измерение от 2 января 2020 г. было проигнорировано. Можно ли добиться ожидаемого результата с помощью pd.Series.resample()?
Рабочий способ выполнения интерполяции:

Код: Выделить всё

index_new = pd.date_range(series.index.min(), series.index.max(), freq='2D')
series_interp = series.reindex(series.index.union(index_new))
series_interp.interpolate('index', inplace=True)
series_interp = series_interp.reindex(index_new)
print(series_interp)
Это дает правильный результат. Однако это несколько громоздко. Можно ли получить тот же результат, используя удобный метод resample временного ряда?

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-resample
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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