繁体   English   中英

Python - 将包含每周数据的列转换为日期时间 object

[英]Python - Converting a column with weekly data to a datetime object

我有以下日期列,我想将其转换为 pandas 日期时间 object。 可以用每周数据做到这一点吗? 例如,1-2018 代表 2018 年的第 1 周,依此类推。 我尝试了以下转换,但收到一条错误消息:Cannot use '%W' or '%U' without day and year

import pandas as pd

df1 = pd.DataFrame(columns=["date"])
df1['date'] = ["1-2018", "1-2018", "2-2018", "2-2018", "3-2018", "4-2018", "4-2018", "4-2018"]

df1["date"] = pd.to_datetime(df1["date"], format = "%W-%Y")

您需要在datetime时间格式中添加一天

df1["date"] = pd.to_datetime('0' + df1["date"], format='%w%W-%Y')
print(df1)

Output

        date
0 2018-01-07
1 2018-01-07
2 2018-01-14
3 2018-01-14
4 2018-01-21
5 2018-01-28
6 2018-01-28
7 2018-01-28

正如错误消息所说,您需要通过添加 %w 来指定星期几:

df1["date"] = pd.to_datetime( '0'+df1.date, format='%w%W-%Y')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM