polars.Series.rolling_quantile#

Series.rolling_quantile(
quantile: float,
interpolation: RollingInterpolationMethod = 'nearest',
window_size: int = 2,
weights: list[float] | None = None,
*,
min_periods: int | None = None,
center: bool = False,
) Series[source]#

计算滚动分位数。

警告

此功能被视为不稳定。它可能会在任何时候更改,而不被视为破坏性更改。

给定行的窗口将包括该行本身及其前面的window_size - 1个元素。

Parameters:
quantile

分位数在0.0到1.0之间。

interpolation{‘nearest’, ‘higher’, ‘lower’, ‘midpoint’, ‘linear’}

插值方法。

window_size

窗口的长度以元素数量表示。

weights

一个与窗口长度相同的可选切片,它将与窗口中的值进行元素级乘法。

min_periods

在计算结果之前,窗口中应该为非空值的数量。如果设置为None(默认值),它将被设置为等于window_size

center

将标签设置在窗口的中心。

示例

>>> s = pl.Series("a", [1.0, 2.0, 3.0, 4.0, 6.0, 8.0])
>>> s.rolling_quantile(quantile=0.33, window_size=3)
shape: (6,)
Series: 'a' [f64]
[
        null
        null
        1.0
        2.0
        3.0
        4.0
]
>>> s.rolling_quantile(quantile=0.33, interpolation="linear", window_size=3)
shape: (6,)
Series: 'a' [f64]
[
        null
        null
        1.66
        2.66
        3.66
        5.32
]