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

如何将Polars 0.20.19的字符串字段处理代码适配到1.10版本?

解决Polars 1.10中字符串字段处理的报错问题

Polars在版本迭代中调整了字符串命名空间的API,旧版本的str.strip()方法已被移除,取而代之的是str.trim()来实现首尾空白字符的移除。针对你的需求,修改后的代码如下:

高效向量化实现(推荐)

import polars as pl

# 处理字符串列逻辑,保留非字符串列
df = df.with_columns(
    pl.col(pl.String)
    .str.trim()  # 替换原str.strip(),移除首尾空白
    .when(
        (pl.col(pl.String) == "") | (pl.col(pl.String) == "NULL"),
        None
    )
    .keep_name()
)

等价的自定义元素处理写法

如果需要更灵活的自定义逻辑,也可以用map_elements:

df = df.with_columns(
    pl.col(pl.String)
    .str.trim()
    .map_elements(
        lambda x: None if x in ("", "NULL") else x,
        return_dtype=pl.String
    )
)

关键改动说明

  • API替换:将str.strip()改为str.trim(),这是Polars新版本中移除首尾空白的标准方法。
  • 性能优化:优先使用Polars内置的when/then条件表达式,比自定义map_elements更贴合Polars的向量化设计,运行效率更高。
  • 自动保留非字符串列:pl.col(pl.String)仅筛选字符串类型列处理,其他类型列会原样保留。

内容的提问来源于stack exchange,提问作者Vinícius Queiroz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:25:59