Интерполировать на основе даты и времениPython

Программы на Python
Anonymous
Интерполировать на основе даты и времени

Сообщение Anonymous »

В pandas я могу интерполировать на основе даты и времени следующим образом:

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

df1 = pd.DataFrame(
{
"ts": [
datetime(2020, 1, 1),
datetime(2020, 1, 3, 0, 0, 12),
datetime(2020, 1, 3, 0, 1, 35),
datetime(2020, 1, 4),
],
"value": [1, np.nan, np.nan, 3],
}
)
df1.set_index('ts').interpolate(method='index')
Выходы:

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

                        value
ts
2020-01-01 00:00:00  1.000000
2020-01-03 00:00:12  2.333426
2020-01-03 00:01:35  2.334066
2020-01-04 00:00:00  3.000000
Есть ли подобный метод в полярах? Скажем, начиная с

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

df1 = pl.DataFrame(
{
"ts": [
datetime(2020, 1, 1),
datetime(2020, 1, 3, 0, 0, 12),
datetime(2020, 1, 3, 0, 1, 35),
datetime(2020, 1, 4),
],
"value": [1, None, None, 3],
}
)

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

shape: (4, 2)
┌─────────────────────┬───────┐
│ ts                  ┆ value │
│ ---                 ┆ ---   │
│ datetime[μs]        ┆ i64   │
╞═════════════════════╪═══════╡
│ 2020-01-01 00:00:00 ┆ 1     │
│ 2020-01-03 00:00:12 ┆ null  │
│ 2020-01-03 00:01:35 ┆ null  │
│ 2020-01-04 00:00:00 ┆ 3     │
└─────────────────────┴───────┘
РЕДАКТИРОВАТЬ: я обновил пример, чтобы сделать его немного более «нерегулярным», чтобы повышение частоты дискретизации нельзя было использовать в качестве решения, и чтобы было ясно, что нам нужно что-то более общее


Подробнее здесь: https://stackoverflow.com/questions/765 ... -datetimes

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