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

Python中如何使用date()函数传入整数数组参数创建datetime列

问题解决方案

你遇到的报错核心原因是datetime.date()仅支持传入单个整数类型的年、月、日参数,无法直接接收整列序列作为输入,以下是两种可直接复用的解决方案:

方案1:使用pandas原生方法生成日期列(推荐)

该方法性能最优,无需逐行遍历,适合大数据量场景:

import pandas as pd

# 替换为你自己的三个序列数据
df = pd.DataFrame({
    "year": [2020, 2021, 2022],
    "month": [2, 6, 10],
    "day": [14, 21, 30]
})

# 直接生成日期列,输出为pandas Timestamp类型
df["date"] = pd.to_datetime(df[["year", "month", "day"]])

# 若需要输出datetime.date类型,可加后续转换
df["date"] = df["date"].dt.date

如果存在不合法的日期值(比如month=13、2月30日),可以添加参数自动转为空值避免报错:

df["date"] = pd.to_datetime(df[["year", "month", "day"]], errors="coerce")

方案2:使用apply逐行调用datetime.date

适合需要自定义日期逻辑的场景:

from datetime import date
import pandas as pd

df = pd.DataFrame({
    "year": [2020, 2021, 2022],
    "month": [2, 6, 10],
    "day": [14, 21, 30]
})

df["date"] = df.apply(lambda x: date(x["year"], x["month"], x["day"]), axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:45:01