将字符串转换为日期格式:DD-MMM-YYYY到Python中的日期时间[复制]

问题描述 投票:0回答:1

我有一个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'])但我得到错误未知字符串值。我还尝试将字符串拆分为两列并仅转换日期部分但面临类似的错误

python string pandas date dataframe
1个回答
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建议错误='强制'):

                    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
© www.soinside.com 2019 - 2024. All rights reserved.