这个问题在这里已有答案:
我有一个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'])但我得到错误未知字符串值。我还尝试将字符串拆分为两列并仅转换日期部分但面临类似的错误
可能的欺骗: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建议错误='强制'):
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