将日期字符串转换为pd.to_datetime对象python

时间:2017-07-13 13:10:02

标签: python pandas datetime

我有一个格式的字符串:

2013-07-22 00:00:00

我需要使用pd.to_datetime将其转换为日期时间对象。但是,我一直在收到错误。这就是我试过的:

data['date_object'] = pd.to_datetime(data['date_as_string'], format = '%Y-%m-%d %H:%M:%S')

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

以下在pandas 0.17+中工作正常。

>>> from StringIO import StringIO 
>>> st = """  
... date_as_string 
... 2013-07-22 00:00:00
... 2013-07-23 00:00:00
... 2013-08-22 00:00:00
... """
>>> import pandas as pd 
>>> df = pd.read_csv(StringIO(st))
>>> df
        date_as_string
0  2013-07-22 00:00:00
1  2013-07-23 00:00:00
2  2013-08-22 00:00:00
>>> data = df
>>> data['date_object'] = pd.to_datetime(data['date_as_string'], format = '%Y-%m-%d %H:%M:%S')
>>> data
        date_as_string date_object
0  2013-07-22 00:00:00  2013-07-22
1  2013-07-23 00:00:00  2013-07-23
2  2013-08-22 00:00:00  2013-08-22
>>> 

如果您可以提供足够的数据和代码来重现错误,我们可以调试原因。否则,快速修复coerce错误如下:

data['date_object'] = pd.to_datetime(data['date_as_string'], format = '%Y-%m-%d %H:%M:%S',  errors='coerce')