我有一个pandas数据框,其中的列包含如下字符串
01-May-2012 16:44:55.113
01-Jun-2012 18:49:57.466
01-May-2012 14:64:45.119
01-May-2012 14:23:55.113
我希望将其转换为以下格式。
2012-05-01 16:44:55.113
2012-06-01 18:49:57.466
2012-05-01 14:64:45.119
2012-05-01 14:23:55.113
我尝试使用pandas.to_datetime(df [' date time'])但我收到错误未知字符串值。我还尝试将字符串拆分为两列并仅转换日期部分但面临类似的错误
答案 0 :(得分:4)
可能的愚蠢行为:Convert Pandas Column to DateTime。它已经过时了,接受的答案指定了大多数情况下不需要的格式。
但是,请看一下:
import pandas as pd
data = dict(dates=['01-May-2012 16:44:55.113',
'01-Jun-2012 18:49:57.466',
'01-May-2012 14:64:45.119', # <--- Error, minute can't be more than 60
'01-May-2012 14:23:55.113'])
df = pd.DataFrame(data)
df.dates = pd.to_datetime(df.dates, errors='coerce')
print(df)
你得到这个(感谢@ 3novak建议错误=&#39;强迫&#39;):
dates
0 2012-05-01 16:44:55.113
1 2012-06-01 18:49:57.466
2 NaT
3 2012-05-01 14:23:55.113