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

Polars中将多列合并为单个列表类型列的更优实现方法

有更简洁高效的原生实现,你可以直接用Polars提供的pl.concat_list接口,这一接口就是专门用于按行将多列合并为列表类型的列,不需要额外引入numpy或者自定义map_batches逻辑。

示例代码如下:

# 保留原列,新增combine列
df = df.with_columns(
    pl.concat_list(["a", "b"]).alias("combine")
)

# 如果只需要保留合并后的combine列,可以改成select
df = df.select(
    pl.concat_list(["a", "b"]).alias("combine")
)

该实现的优势:

  • 纯Polars原生实现,不需要依赖numpy,执行过程会走Polars内置的查询优化,大数据量下性能远高于你现有的numpy+map_batches实现
  • 写法简洁易维护,合并多列时只需要传入对应的列名列表即可,不需要自行实现数据拼接逻辑
  • 自动适配原列的数据类型,无需额外做类型转换处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:54:04