Добавить целочисленный столбец миллисекунд с полуночи к дате и времени в Polars? [дубликат]Python

Программы на Python
Anonymous
 Добавить целочисленный столбец миллисекунд с полуночи к дате и времени в Polars? [дубликат]

Сообщение Anonymous »

У меня есть фрейм данных Polars в следующем формате:

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

import polars as pl

df = pl.from_repr("""
┌───────────┬──────────┐
│ ms_of_day ┆ date     │
│ ---       ┆ ---      │
│ i64       ┆ i64      │
╞═══════════╪══════════╡
│ 0         ┆ 20240729 │
│ 300000    ┆ 20240729 │
│ 600000    ┆ 20240729 │
│ 900000    ┆ 20240729 │
│ 1200000   ┆ 20240729 │
│ 85200000  ┆ 20240729 │
│ 85500000  ┆ 20240729 │
│ 85800000  ┆ 20240729 │
│ 86100000  ┆ 20240729 │
│ 86400000  ┆ 20240729 │
└───────────┴──────────┘
""")
ms_of_day представляет собой миллисекунды, прошедшие с полуночи, поэтому 30000 = 00:05, 60000 = 00:10 и т. д. Столбец даты явно имеет формат «%Y%m%d». Столбец даты достаточно прост, чтобы преобразовать его в столбец даты и времени с помощью...

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

df.with_columns(
new_date = pl.col('date').cast(pl.String).str.to_datetime('%Y%m%d'))

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

┌───────────┬──────────┬─────────────────────┐
│ ms_of_day ┆ date     ┆ new_date            │
│ ---       ┆ ---      ┆ ---                 │
│ i64       ┆ i64      ┆ datetime[μs]        │
╞═══════════╪══════════╪═════════════════════╡
│ 0         ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 300000    ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 600000    ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 900000    ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 1200000   ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 85200000  ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 85500000  ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 85800000  ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 86100000  ┆ 20240729 ┆ 2024-07-29 00:00:00 │
│ 86400000  ┆ 20240729 ┆ 2024-07-29 00:00:00 │
└───────────┴──────────┴─────────────────────┘
Но я не могу понять, как включить столбец ms_of_day в столбец new_date, чтобы время также отображалось правильно. Например, вторая строка должна быть 2024-07-29 00:05:00, третья строка 2024-07-29 00:10:00 и т. д.


Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-polars

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