Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pandas - Converting date column from dd/mm/yy hh:mm:ss to yyyy-mm-dd hh:mm:ss

I have a dataframe (df) that has a date column (column name : sale_date) that stores data in the below format

dd/mm/yy hh:mm:ss

I am trying to convert it to yyyy-mm-dd hh:mm:ss. Tried with the below but however it still does not convert it to the required format.

df['sale_date'] = pd.to_datetime(df['sale_date'])

Could anyone assist in converting the format of this date column. Thanks

like image 874
Kevin Nash Avatar asked Aug 07 '18 10:08

Kevin Nash


People also ask

What is the method in pandas to change values into Date time data type?

In Pandas, you can convert a column (string/object or integer type) to datetime using the to_datetime() and astype() methods.


2 Answers

If you know you will have a consistent format in your column, you can pass this to to_datetime:

df['sale_date'] = pd.to_datetime(df['sale_date'], format='%d/%m/%y %H:%M:%S')

If your formats aren't necessarily consistent but do have day before month in each case, it may be enough to use dayfirst=True though this is difficult to say without seeing the data:

df['sale_date'] = pd.to_datetime(df['sale_date'], dayfirst=True)
like image 146
asongtoruin Avatar answered Oct 10 '22 04:10

asongtoruin


You can do so:

df['sale_date'] = pd.to_datetime(df['sale_date'], format='%d/%m/%y %H:%M:%S').dt.strftime('%Y-%m-%d %H:%M:%S')

Input:

           sale_date
0  04/12/10 21:12:35
1  04/12/10 21:12:30

Output:

             sale_date
0  2010-12-04 21:12:35
1  2010-12-04 21:12:30
like image 22
Joe Avatar answered Oct 10 '22 04:10

Joe