如何将数据框中的字符串更改为日期时间值?

时间:2019-06-10 17:11:51

标签: python pandas

我在pandas数据框中有一列以日期形式表示的字符串

 Year-day hour:minute:second.microsecond

除了将日期写为0-364之间的单个数字外。例如,日期2019-040 04:00:00:000000表示2019年2月9日凌晨4点。如何将这些值转换为日期时间实例?

2 个答案:

答案 0 :(得分:2)

您可以使用datetimestrptime来实现。 %j directive允许您输入年份的零填充天数:

import datetime as dt
date_time = '2019-040 04:00:00:000000'
dt.datetime.strptime(date_time, '%Y-%j %H:%M:%S:%f')

输出:

datetime.datetime(2019, 2, 9, 4, 0)

答案 1 :(得分:0)

您真正要问的是,一年中哪几天的指令用0填充。它是“%j”。

因此,在这种情况下,您将对年份执行%Y,对日期进行%j,对小时进行%H,对分钟进行%M,对秒进行%S,对微秒进行%f。

pd.to_datetime(column, format='%Y-%j %H:%M:%S:%f')