Python Polars 从 Epoch 解析日期

Python Polars Parse Date from Epoch

如何将一列 i64 纪元字符串转换为极坐标中的日期?

我有一列 i64 表示自纪元以来的秒数,我想将它们解析为极地原生日期时间。

Polars' Datetime 以纳秒、微秒或毫秒为单位表示为 unix 纪元。因此,有了这些知识,我们可以将秒转换为毫秒并转换为 Datetime.

最后我们确保 polars 使用正确的单位。

df = pl.DataFrame({
    "epoch_seconds": [1648457740, 1648457740 + 10]
})

MILLISECONDS_IN_SECOND = 1000;

df.select(
    (pl.col("epoch_seconds") * MILLISECONDS_IN_SECOND).cast(pl.Datetime).dt.with_time_unit("ms").alias("datetime")
)
shape: (2, 1)
┌─────────────────────┐
│ datetime            │
│ ---                 │
│ datetime[ms]        │
╞═════════════════════╡
│ 2022-03-28 08:55:40 │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2022-03-28 08:55:50 │
└─────────────────────┘