polars.time_range#

polars.time_range(
start: time | IntoExprColumn | None = None,
end: time | IntoExprColumn | None = None,
interval: str | timedelta = '1h',
*,
closed: ClosedInterval = 'both',
eager: bool = False,
) Series | Expr[source]#

生成一个时间范围。

Parameters:
start

时间范围的下限。 如果省略,默认为 time(0,0,0,0)

end

时间范围的上限。 如果省略,默认为 time(23,59,59,999999)

interval

范围周期的时间间隔,指定为Python timedelta对象 或使用Polars持续时间字符串语言(请参阅下面的“注释”部分)。

closed{‘both’, ‘left’, ‘right’, ‘none’}

定义范围的哪些边是闭合的(包含的)。

eager

立即评估并返回一个Series。 如果设置为False(默认),则返回一个表达式。

Returns:
Expr or Series

数据类型为:class:Time的列。

另请参阅

time_ranges

创建一个时间范围的列。

注释

interval 是根据以下字符串语言创建的:

  • 1纳秒 (1 纳秒)

  • 1微秒 (1 微秒)

  • 1毫秒 (1 毫秒)

  • 1秒 (1 秒)

  • 1分钟 (1 minute)

  • 1小时 (1小时)

  • 1d (1个日历日)

  • 1w (1个日历周)

  • 1个月 (1个日历月)

  • 1q (1个日历季度)

  • 1年 (1个日历年)

或者将它们组合起来: “3d12h4m25s” # 3天,12小时,4分钟,25秒

“日历日”指的是第二天的相应时间(由于夏令时,可能不是24小时)。同样适用于“日历周”、“日历月”、“日历季度”和“日历年”。

示例

>>> from datetime import time, timedelta
>>> pl.time_range(
...     start=time(14, 0),
...     interval=timedelta(hours=3, minutes=15),
...     eager=True,
... ).alias("time")
shape: (4,)
Series: 'time' [time]
[
    14:00:00
    17:15:00
    20:30:00
    23:45:00
]