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

如何将WW-YYYY格式的Object类型数据转换为datetime格式?

解决WW-YYYY格式转datetime的报错问题

报错原因

%W代表一年中以周一为起始的周数,单独的周数+年份无法确定唯一日期,必须指定该周的具体星期几,因此pd.to_datetime会抛出ValueError。

解决方案

由于你不需要按日展示数据,只需保证时序顺序正确,给每条数据的日期字符串拼接固定星期几即可完成转换,推荐两种实用方式:

方式1:转换为datetime类型(带固定星期几)

给WW-YYYY拼接'-1'(代表该周周一,也可替换为'-0'代表周日,按你的周起始规则调整),再指定完整格式转换:

df["Date"] = pd.to_datetime(df["Date"] + '-1', format='%W-%Y-%w')

转换后的datetime会以该周周一为固定日期,完全不影响周级时序绘图的顺序。

方式2:转换为周周期(Period)类型(更贴合周级数据)

如果不需要具体日期,直接用周周期类型更匹配数据粒度,无需额外拼接日期:

# 拆分年份和周数,创建周周期对象
df["Date"] = df["Date"].apply(lambda x: pd.Period(f"{x.split('-')[1]}-{x.split('-')[0]}", freq='W'))

这种类型天生是周级粒度,绘图时能直接按周排序展示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:11:29