在熊猫中将混合字符串转换为日期时间对象

时间:2018-11-15 15:39:50

标签: python pandas datetime

我有一个日期列,其格式如下:

date
10jan2018
12feb2018
14mar2018

以此类推。我猜最好的方法是将中间字符串转换成数字,然后应用todatetime(),所以我创建了一个像这样的字典:

dict_month={'jan':01, 'feb':02,'mar':03,'apr':04,'may':05,'jun':06'
      'jul':07, 'aug':08,'sep':09,'oct':10,'nov':11,'dec':12}

但是我不确定如何继续。也许我可以使用正则表达式,但是我不确定如何将正则表达式和字典结合起来。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

指定formatpd.to_datetime()%b是语言环境的缩写名称(在该方向上不区分大小写):

>>> df
        date
0  10jan2018
1  12feb2018
2  14mar2018

>>> pd.to_datetime(df['date'], format='%d%b%Y')
0   2018-01-10
1   2018-02-12
2   2018-03-14
Name: date, dtype: datetime64[ns]

来自datetime模块:Formatting directives