Приведите несколько столбцов с эпохой Unix к DatetimePython

Программы на Python
Ответить
Anonymous
 Приведите несколько столбцов с эпохой Unix к Datetime

Сообщение Anonymous »

У меня есть фрейм данных с несколькими столбцами, содержащими эпохи Unix.
В моем примере я использую только 2 из 13 имеющихся у меня столбцов. Я хотел бы привести все эти столбцы к дате и времени с часовым поясом UTC одним вызовом with_columns().
import polars as pl

df = pl.from_repr("""
┌─────┬────────────┬────────────┬────────────┐
│ id ┆ start_date ┆ end_date ┆ cancelable │
│ --- ┆ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ i64 ┆ bool │
╞═════╪════════════╪════════════╪════════════╡
│ 1 ┆ 1566637530 ┆ 1566628686 ┆ true │
│ 2 ┆ 1561372720 ┆ 1561358079 ┆ true │
│ 3 ┆ 1561374780 ┆ 1561358135 ┆ false │
│ 4 ┆ 1558714718 ┆ 1556188225 ┆ false │
│ 5 ┆ 1558715044 ┆ 1558427697 ┆ true │
└─────┴────────────┴────────────┴────────────┘
""")

Polars предоставляет пользователю pl.from_epoch. Однако я не нашел способа применить его к нескольким столбцам одновременно.
Ожидаемый результат:
shape: (5, 4)
┌─────┬─────────────────────┬─────────────────────┬────────────┐
│ id ┆ start_date ┆ end_date ┆ cancelable │
│ --- ┆ --- ┆ --- ┆ --- │
│ i64 ┆ datetime[μs] ┆ datetime[μs] ┆ bool │
╞═════╪═════════════════════╪═════════════════════╪════════════╡
│ 1 ┆ 2019-08-24 09:05:30 ┆ 2019-08-24 06:38:06 ┆ true │
│ 2 ┆ 2019-06-24 10:38:40 ┆ 2019-06-24 06:34:39 ┆ true │
│ 3 ┆ 2019-06-24 11:13:00 ┆ 2019-06-24 06:35:35 ┆ false │
│ 4 ┆ 2019-05-24 16:18:38 ┆ 2019-04-25 10:30:25 ┆ false │
│ 5 ┆ 2019-05-24 16:24:04 ┆ 2019-05-21 08:34:57 ┆ true │
└─────┴─────────────────────┴─────────────────────┴────────────┘

Пока что мой код выглядит следующим образом.
columns_epoch_to_timestamp: list[str] = [
"start_date",
"end_date",
]

df = df.with_columns(pl.col(*columns_epoch_to_timestamp))


Подробнее здесь: https://stackoverflow.com/questions/788 ... o-datetime
Ответить

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

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

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

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

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