如何使用AM / PM将字符串转换为熊猫时间戳

时间:2018-10-02 15:48:43

标签: pandas type-conversion timestamp

我有这样的行29-08-17 11.34.58.548518 PM,,如何将其转换为熊猫时间戳:

这种方法行不通

pd.to_datetime('29-08-17 11.34.58.548518 PM', '%d-%m-%Y %H.%M.%S', dayfirst = True)

2 个答案:

答案 0 :(得分:2)

您可以删除dayfirst,因为该信息包含在格式字符串中。要包含整个日期字符串,包括.548518 PM,请使用%f%p指令:

pd.to_datetime('29-08-17 11.34.58.548518 PM', format='%d-%m-%y %I.%M.%S.%f %p')

返回:

Timestamp('2017-08-29 23:34:58.548518')

%f代表微秒(十进制),%p代表Locale等效于AM或PM(有关更多信息,请参见docs

答案 1 :(得分:0)

此外,摆脱PM / AM并不是一种选择:我们必须正确处理所有事情。最终解决方案:

pd.to_datetime(pd.to_datetime('29-08-17 11.34.58.548518 PM', format='%d-%m-%y %I.%M.%S.%f %p'), format='%d-%m-%y %H.%M.%S')