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

Polars 0.20.23调用extract_many报错:无该属性的问题咨询

解决Polars 0.20.23中str.extract_many不存在的错误

错误原因

你使用的Polars 0.20.23版本不包含str.extract_many方法,这个API是在Polars 0.21.0版本才新增的,因此调用时会触发AttributeError。

两种解决方案

1. 升级Polars到兼容版本

直接升级Polars到0.21.0及以上,你的原有代码无需修改即可运行。执行升级命令:

pip install --upgrade polars

2. 不升级,使用旧版本兼容的替代方法

在Polars 0.20.x中,用str.extract_groups实现多捕获组提取需求,示例如下:

提取为结构体并展开为单独列

import polars as pl

data = {
    "text": [
        "Year: 2020, Month: January",
        "Year: 2021, Month: February",
        "Year: 2022, Month: March",
        "Year: 2023, Month: April"
    ]
}

df = pl.DataFrame(data)
pattern = r"Year: (\d{4}), Month: (\w+)"

# 提取多捕获组为结构体列
df_extracted = df.with_columns(
    pl.col("text").str.extract_groups(pattern).alias("year_month")
)

# 展开为year和month列
df_extracted = df_extracted.with_columns(
    pl.col("year_month").struct.field("0").cast(pl.Int32).alias("year"),
    pl.col("year_month").struct.field("1").alias("month")
).drop("year_month")

print(df_extracted)

提取为列表格式(模拟extract_many的输出)

如果需要和extract_many类似的列表输出,可以将结构体转为列表:

df_extracted = df.with_columns(
    pl.col("text").str.extract_groups(pattern).struct.to_list().alias("year_month")
)
print(df_extracted)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:17:41