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

使用Python Polars遇AttributeError:'Expr'对象无'apply'属性求助

问题原因

你遇到的AttributeError是因为Polars在较新版本中已经将Expr.apply()方法重命名为Expr.map(),原apply方法已被移除,所以当前版本的Polars Expr对象不再有apply属性。

解决方案

方案1:改用map()适配自定义函数

直接把代码里的apply替换成map就能正常运行:

def get_day(dt_obj):
    days_of_week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
    return days_of_week[dt_obj.weekday()]

df = df.with_columns(
  pl.col('alertTime').map(get_day, return_dtype=pl.Utf8).alias('day_of_week')
)

方案2:用Polars内置日期方法(更高效)

Polars自带日期时间处理API,比自定义函数的map操作性能更好,推荐使用:

  • 直接获取星期名称:用dt.strftime("%A")直接输出英文星期全称
    df = df.with_columns(
        pl.col('alertTime').dt.strftime("%A").alias('day_of_week')
    )
    
  • 自定义星期名称映射:如果需要自定义名称(比如其他语言),可以先拿星期索引再映射
    days_of_week = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
    df = df.with_columns(
        pl.col('alertTime').dt.weekday().map_elements(lambda idx: days_of_week[idx], return_dtype=pl.Utf8).alias('day_of_week')
    )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:50:58