我是Polars的新手,最后我编写了这段代码来计算n
行片段上的聚合表达式:
import polars as pl
df = pl.DataFrame({"a": [1, 1, 3, 8, 62, 535, 4213]})
(
df.with_columns(index=pl.int_range(pl.len(), dtype=pl.Int32))
.group_by_dynamic(index_column="index", every="3i")
.agg(pl.col("a").mean())
)
在本例中,我为7
行设置了n==3
,但是对于一个大约10**6
行的多列数据帧,我将其设置为大约100
的较小的n
.
我想知道这是不是做这种手术的惯用方式.
不知何故,在我看来,Int32
范围内的group_by_dynamic
似乎有些过头了:我在想,是否有更直接的方法来进行同样的聚合.