将包含年和周数的字符串转换为 Pandas 中的日期时间

Converting a string containing year and week number to datetime in Pandas

我在 Pandas 数据框中有一列包含年份和周数(1 到 52)的一个字符串,格式如下:'2017_03'(表示第 3 周2017 年)。

我想将列转换为日期时间,我正在使用 pd.to_datetime() 函数。但是我得到一个例外:

pd.to_datetime('2017_01',format = '%Y_%W')
ValueError: Cannot use '%W' or '%U' without day and year

另一方面,strftime 文档提到:

我不确定我做错了什么。

您还需要定义 start day:

a = pd.to_datetime('2017_01_0',format = '%Y_%W_%w')
print (a)
2017-01-08 00:00:00

a = pd.to_datetime('2017_01_1',format = '%Y_%W_%w')
print (a)
2017-01-02 00:00:00

a = pd.to_datetime('2017_01_2',format = '%Y_%W_%w')
print (a)
2017-01-03 00:00:00