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

如何在Python Polars中对DataFrame列表列执行explode操作?

Polars DataFrame列表列的展开(Explode)操作方法

Polars 提供了原生的 explode() 方法,可直接实现列表列的展开需求,以下是具体用法:

基础用法

先构造一个带列表列的示例 DataFrame:

import polars as pl

df = pl.DataFrame({
    "id": [1, 2],
    "values": [[10, 20, 30], [40, 50]]
})

对目标列表列执行展开操作:

exploded_df = df.explode("values")

执行后,values 列的每个列表元素会单独占据一行,同时保留其他列的对应值,完全符合需求效果。

多列表列同时展开

如果 DataFrame 中有多个列表列需要同时展开,只需将列名以列表形式传入 explode():

df = pl.DataFrame({
    "id": [1, 2],
    "vals1": [[1,2], [3,4]],
    "vals2": [[5,6], [7,8]]
})
exploded_df = df.explode(["vals1", "vals2"])

此操作会将多个列表列的同位置元素对应到同一行。

保留原索引信息

若需要保留原 DataFrame 的行索引,可先添加索引列再执行展开:

# 先添加原索引列
df_with_idx = df.with_row_index("original_index")
# 执行展开
exploded_df = df_with_idx.explode("values")

这样展开后的结果会保留原始行的索引标识。

内容的提问来源于stack exchange,提问作者myamulla_ciencia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:23:13