You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Polars DataFrame中将内部列表展开为新行(反向聚合)

如何在Polars DataFrame中将内部列表展开为新行(反向聚合)

嘿,这个需求Polars其实早就给你准备好了现成的方法,完全不用自己折腾复杂逻辑!你要做的就是把嵌套列表所在的列拆成单独的行,其他列的值会自动重复对应,Polars的explode()方法正好干这个事儿。

针对你给出的示例代码,我们只需要在expand函数里调用explode()方法指定要展开的列就行:

import polars as pl

def expand(df):
    # 调用explode方法展开y列的嵌套列表
    return df.explode("y")

df = pl.DataFrame(
    {
        "x": ["A", "B"],
        "y": [[1, 2], [3, 4]],
    }
)

expected_df = pl.DataFrame({"x": ["A", "A", "B", "B"], "y": [1, 2, 3, 4]})

assert expand(df).equals(expected_df)

运行这段代码,断言会顺利通过,完全符合你的预期结果。

另外补充个小知识点:如果你的DataFrame里有多列都是嵌套列表,只要这些列的列表长度对应,还可以一次性展开多个列,比如:

df.explode(["y", "z"])

备注:内容来源于stack exchange,提问作者Jakub Kuszneruk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:14:38