以下在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')
你会得到什么错误?请修改您的问题以包含这些问题。 – bernie
这应该起作用了,它肯定适用于该示例,如果出现错误,请将其包含在您的问题中,因为您的数据可能不正确。如果您有duff数据,您可以将duff日期转换为'NaT':'data ['date_object'] = pd.to_datetime(data ['date_as_string'],format ='%Y-%m-%d%H:% M:%S',errors ='coerce')' – EdChum
我使用了'错误='coerce'',它工作。所以我可以回去修复出现错误的日期。谢谢 – Fungie