【发布时间】:2021-05-20 10:44:01
【问题描述】:
我有一个数据框,其中包含一列已知年份的日期:
print (df)
year day time
0 2012 227 800
15 2012 227 815
30 2012 227 830
... ... ... ...
194250 2013 226 1645
194265 2013 226 1700
我尝试将日期数字转换为日期时间%m-%d,使用:
import pandas as pd
df['day'] = pd.to_datetime(df['day'], format='%j').dt.strftime('%m-%d')
给出:
year day time
0 2012 08-15 800
15 2012 08-15 815
30 2012 08-15 830
... ... ... ...
194250 2013 08-14 1645
194265 2013 08-14 1700
但此转换不正确,因为 2012 年的第 227 天是 8 月 14 日 (08-14)。我相信这个错误是由于转换中缺少年份规范。
如何在转换中指定年份以获得 a) %Y-%m-%d ; b)%m-%d; c)%Y-%m-%dT%H:%M 来自我拥有的数据框?
谢谢
【问题讨论】:
标签: python pandas dataframe datetime