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

Polars 1.31.0中concat_arr不再支持pl.col作为参数?特性移除原因咨询

Polars 1.31.0中concat_arr不再支持pl.col作为参数?特性移除原因咨询

之前我一直用这段代码来合并多列生成数组类型的列:

pl.concat_arr(pl.col("X[m]", "Y[m]", "Z[m]")).alias("Antenna_position[m]")

但升级到Polars 1.31.0之后,这段代码突然跑不通了,直接抛出了DuplicateError,完整报错信息如下:

polars.exceptions.DuplicateError: the name 'Antenna_position[m]' is duplicate
It's possible that multiple expressions are returning the same default column name. If this is the case, try renaming the columns with .alias("new_name") to avoid duplicate column names.

后来摸索出两个简单的解决办法:

  • 直接传入列名的字符串,不用pl.col()进行包装:
    pl.concat_arr("X[m]", "Y[m]", "Z[m]").alias("Antenna_position[m]")
    
  • 改用pl.concat_list()方法,这种方式可以继续保留pl.col()的写法:
    pl.concat_list(pl.col("X[m]", "Y[m]", "Z[m]")).alias("Antenna_position[m]")
    

考虑到Polars官方文档里明确推荐用Array类型替代List来获得更好的性能,所以第一种调整方案应该是更符合性能优化方向的选择。

不过我注意到Polars中Array相关的concat_arr功能目前还处于不稳定状态,有没有了解情况的朋友能说说,为什么突然移除了它对pl.col()参数的支持呢?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 09:54:34