polars 将 array[string] 列聚合到 set[str]

问题描述 投票:0回答:0

我有极地数据框:

df = pl.DataFrame({
    'col1': [["aaa", "aaa"], ["bbb", "ccc"], ["ccc", "ddd", "ddd"], ["ddd", "ddd", "ddd"]],
    'col2': ["a", "a", "a", "a"],
    'col3': ["x", "x", "y", "y"]
})

我想按 col2、col3 分组并将 col1 聚合到 Set[String]

(df
.groupby(["col2", "col3"])
.agg([pl.col("col1").flatten().apply(set).alias("result")])
)

当我在 1700 万条记录上运行它时,它的执行速度非常慢。 10 分钟后它仍然没有完成。

如何加快速度?

python set aggregate flatten polars
© www.soinside.com 2019 - 2024. All rights reserved.