关于python:将年和周的整数更改为日期时间

Changing integer of year and week to datetime

本问题已经有最佳答案,请猛点这里访问。

如何将数据框中的大量数据从整数转换为日期时间?但是我只有例如Year和Week的数据。该列名为\\'Year_Week \\',应完全转换。

1
2
3
4
5
6
7
for example:
Year_Week
201601
201602
201603
...
201652

so ist应该这样转换:

1
2
201601 = 2016-01-01
201602 = 2016-01-08

我的数据是整数,所以我将其转换为对象。

1
df.Year_Week = df.Year_Week.astype(str)

然后我尝试了

1
2
3
4
5
dateString = df['Year_Week']
dateObject = datetime.datetime.strptime(dateString + '-1',"%Y%W-%w")
print(dateObject)

But there is a TypeError: strptime() argument 1 must be str, not Series

不知道如何解决它,因为我试图将其从整数转换为字符串,但是它变成了一个对象...
现在我不知道我的错在哪里

感谢您的帮助


datetime.datetime.strptime(dateString'-1',"%Y%W-%w")参数仅查看一个字符串对象。要将整个系列转换为日期时间,您需要执行以下操作:

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