【发布时间】:2019-03-18 13:23:35
【问题描述】:
想要的方式
为了将带有年份和星期几的两列转换为日期,我希望执行以下操作:
df['formatted_date'] = df.year*100+df.weekofyear
df['date'] = pd.to_datetime(df['formatted_date'], format='%Y%w')
但是,它不起作用,给出ValueError:
ValueError: unconverted data remains: 01
解决方法
我发现的解决方法是将一年中的一周转换为一年中的一天并使用 year-dayofyear %Y%j 格式:
df['formatted_date'] = df.year*1000+df.weekofyear*7-6
df['date'] = pd.to_datetime(df['formatted_date'], format='%Y%j')
第一行变得丑陋,但这很好用。一年中的星期在范围 (00,53) 内。 任何想法,为什么优雅的方式不起作用?
【问题讨论】: