我有这样的行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)
答案 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')