Post date: Jun 25, 2015 12:52:58 PM
>>import pandas as pd >>import numpy as np
For a single string element you can do it by datetime package.
>>from datetime import datetime >>datetime.strptime('01-MAR-15', '%d-%b-%y')
datetime.datetime(2015, 3, 1, 0, 0)
To make it work for list of string, just apply this.
>>date_list = ['01-MAR-15', '12-APR-16'] >>[datetime.strptime(s, '%d-%b-%y') for s in date_list ]
[datetime.datetime(2015, 3, 1, 0, 0), datetime.datetime(2016, 4, 12, 0, 0)]
For pandas object, just use method to_datetime
>>df = pd.DataFrame({'order_day':['01-MAR-15', '12-APR-16']}) >>df
0
1
order_day
01-MAR-15
12-APR-16
>>order_day = pd.to_datetime(df.order_day, format = '%d-%b-%y') >>order_day
0 2015-03-01 1 2016-04-12 Name: order_day, dtype: datetime64[ns]
The day difference can be found by specifying .days
>>(order_day[1] - order_day[0]).days
408
The conversion format can be found from this table
https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior