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

如何在Polars中将年、月、日多列合并为单个格式化日期列

Pandas日期拼接代码转Polars实现方案

你原来的Pandas按行apply拼接日期的逻辑,在Polars里可以用原生矢量化日期函数实现,完全不需要低效的逐行遍历,性能远高于自定义lambda实现:

基础实现(和原代码效果完全一致)

import polars as pl

df = df.with_columns(
    EVENT_DATE = pl.date("iyear", "imonth", "iday").dt.strftime("%Y-%m-%d")
)

可选优化

  • 如果你不需要字符串格式,直接存日期类型后续计算更方便,可以去掉.dt.strftime部分:
    df = df.with_columns(
        EVENT_DATE = pl.date("iyear", "imonth", "iday")
    )
    
  • 如果数据里存在无效的年月日组合(比如月份为0、日期超出当月最大值),可以加strict=False参数把无效值自动转为null,避免代码运行中断:
    df = df.with_columns(
        EVENT_DATE = pl.date("iyear", "imonth", "iday", strict=False).dt.strftime("%Y-%m-%d")
    )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:45:08