alelew
alelew

Reputation: 163

Convert date format to 'Month-Day-Year'

I have a column full of dates of 2 million rows. The data format is 'Year-Month-Day', ex: '2019-11-28'. Each time I load the document I have to change the format of the column (which takes a long time) doing:

pd.to_datetime(df['old_date'])

I would like to rearrange the order to 'Month-Day-Year' so that I wouldn't have to change the format of the column each time I load it. I tried doing:

df_1['new_date'] = df_1['old_date'].dt.month+'-'+df_1['old_date'].dt.day+'-'+df_1['old_date'].dt.year

But I received the following error: 'unknown type str32'

Could anyone help me? Thanks!

Upvotes: 1

Views: 5211

Answers (1)

Zephyr
Zephyr

Reputation: 12524

You could use pandas.Series.dt.strftime (documentation) to change the format of your dates. In the code below I have a column with your old format dates, I create a new columns with this method:

import pandas as pd

df = pd.DataFrame({'old format': pd.date_range(start = '2020-01-01', end = '2020-06-30', freq = 'd')})
df['new format'] = df['old format'].dt.strftime('%m-%d-%Y')

Output:

  old format  new format
0 2020-01-01  01-01-2020
1 2020-01-02  01-02-2020
2 2020-01-03  01-03-2020
3 2020-01-04  01-04-2020
4 2020-01-05  01-05-2020
5 2020-01-06  01-06-2020
6 2020-01-07  01-07-2020
7 2020-01-08  01-08-2020
8 2020-01-09  01-09-2020
9 2020-01-10  01-10-2020

Upvotes: 2

Related Questions