pythonstringpandasdatetimestrftime

How to change the datetime format in Pandas


My dataframe has a DOB column (example format 1/1/2016) which by default gets converted to Pandas dtype 'object'.

Converting this to date format with df['DOB'] = pd.to_datetime(df['DOB']), the date gets converted to: 2016-01-26 and its dtype is: datetime64[ns].

Now I want to convert this date format to 01/26/2016 or any other general date format. How do I do it?

(Whatever the method I try, it always shows the date in 2016-01-26 format.)


Solution

  • You can use dt.strftime if you need to convert datetime to other formats (but note that then dtype of column will be object (string)):

    import pandas as pd
    
    df = pd.DataFrame({'DOB': {0: '26/1/2016', 1: '26/1/2016'}})
    print (df)
             DOB
    0  26/1/2016 
    1  26/1/2016
    
    df['DOB'] = pd.to_datetime(df.DOB)
    print (df)
             DOB
    0 2016-01-26
    1 2016-01-26
    
    df['DOB1'] = df['DOB'].dt.strftime('%m/%d/%Y')
    print (df)
             DOB        DOB1
    0 2016-01-26  01/26/2016
    1 2016-01-26  01/26/2016