如何将日期转换为日期时间

时间:2019-04-03 08:16:40

标签: python-3.x pandas

我有一个日期,格式为1998-01-29,我想将其转换为01/29/1998 0:00这种格式。

我有df

week  Year   
0   1998     
1   1998       
2   1998       
3   1998 

我使用以下代码将星期和年份转换为日期:

pd.to_datetime(df.Year.astype(str), format='%Y') + \
             pd.to_timedelta(df.week.mul(7).astype(str) + ' days')

但是当我使用此代码时,我会以以下格式获取此信息:

datetime
1998-3-10
1998-5-10

但我希望将日期时间转换为以下格式:

week  Year   datetime
0   1998     10/3/1998 0:00
1   1998     10/5/1998 0:00  
2   1998     10/7/1998 0:00  
3   1998     10/9/1998 0:00

我使用了以下代码,但没有得到预期的结果:

df['datetime'].astype('datetime64[ns]') 

如何转换日期格式?

1 个答案:

答案 0 :(得分:1)

Series.dt.strftime是否可行,但日期时间会转换为字符串:

df_keywordlist['datetime'] = df_keywordlist['datetime'].dt.strftime('%d/%m/%Y %H:%M')
print (df_keywordlist)
   week  Year          datetime
0     0  1998  01/01/1998 00:00
1     1  1998  08/01/1998 00:00
2     2  1998  15/01/1998 00:00
3     3  1998  22/01/1998 00:00

在python中,日期和日期时间是默认格式,因此无法更改。