在python pandas中,如何将此格式化的日期字符串转换为datetime

时间:2015-08-12 19:34:04

标签: python pandas string-to-datetime

我尝试了几种使用to_datetime的方法,但到目前为止我只能将它返回到" object"

pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),dayfirst=True)

此命令的返回是:

0    28Dec2013 19:23:15
dtype: object

3 个答案:

答案 0 :(得分:5)

您可以将format参数传递给to_datetime函数。

>>> import pandas as pd
>>> df = pd.to_datetime(pd.Series(['28Dec2013 19:23:15']),format="%d%b%Y %H:%M:%S",dayfirst=True)
>>> df
0   2013-12-28 19:23:15
dtype: datetime64[ns]

答案 1 :(得分:0)

如果您需要使用辅助函数convapply方法转换数据框中的现有列,请执行此操作。

import datetime
import pandas as pd

def conv(x):
    return datetime.datetime.strptime(x, '%d%b%Y %H:%M:%S')

series = pd.Series(['28Dec2013 19:23:15'])
converted = series.apply(conv)

0   2013-12-28 19:23:15
dtype: datetime64[ns]

答案 2 :(得分:-1)

Pandas无法识别日期时间格式。

>>> pd.to_datetime(Series(['28Dec2013 19:23:15']))
0    28Dec2013 19:23:15
dtype: object
>>> pd.to_datetime(Series(['28 Dec 2013 19:23:15']))
0   2013-12-28 19:23:15
dtype: datetime64[ns]

您需要解析要输入系列的字符串。正则表达式可能是一个很好的解决方案。