时间戳

Polars 提供了4时间数据类型:

  • pl.Date, 用于日期对象:自UNIX纪元以来的天数,为32位有符号整数。
  • pl.Datetime, 用于datetime项目:自UNIX纪元以来的纳秒数,为64位有符号整数。
  • pl.Time, 编码为午夜后的纳秒数。

Polars 字符串(pl.Utf8) 数据类型可以解析为它们中的任何一个。您可以让Polars尝试猜测日期[time]的格式,或者显式提供fmt规则。

举例来说(查看此此链接以获取全面列表):

  • "%Y-%m-%d" 对于 "2020-12-31"
  • "%Y/%B/%d" 对于 "2020/December/31"
  • "%B %y" 对于 "December 20"

下面是一个简单的例子:

import polars as pl

dataset = pl.DataFrame({"date": ["2020-01-02", "2020-01-03", "2020-01-04"], "index": [1, 2, 3]})

q = dataset.lazy().with_columns(pl.col("date").str.strptime(pl.Date, "%Y-%m-%d"))

df = q.collect()

返回:

shape: (3, 2)
┌────────────┬───────┐
│ date       ┆ index │
│ ---        ┆ ---   │
│ date       ┆ i64   │
╞════════════╪═══════╡
│ 2020-01-02 ┆ 1     │
│ 2020-01-03 ┆ 2     │
│ 2020-01-04 ┆ 3     │
└────────────┴───────┘

所有datetime功能都显示在 dt 命名空间中。