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

如何获取DataFrame所有元素的长度?Polars代码执行报错求助

解决方案

错误原因很明确:str.len_chars()是Polars的字符串专属方法,只能处理String类型列,你的DataFrame包含i64整数类型列,直接用pl.all()会把非字符串列传入,触发类型不匹配错误。

根据需求分两种场景处理:

场景1:仅计算字符串列的元素长度

只筛选出字符串类型列,再调用长度方法,建议给结果列加后缀区分原列:

df_work.with_columns(
    pl.col(pl.String).str.len_chars().suffix("_length")
)

场景2:计算所有列的元素长度(含非字符串列)

先把所有列强制转换为字符串类型,再计算长度:

df_work.with_columns(
    pl.all().cast(pl.String).str.len_chars().suffix("_length")
)

额外处理:空值情况

如果列中存在null值,str.len_chars()会返回null,可以用fill_null填充默认值(比如0):

df_work.with_columns(
    pl.col(pl.String).str.len_chars().fill_null(0).suffix("_length")
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 15:34:51