I have tried to convert a column with 'O' values like
31 October 2020
31 October 2020
31 October 2020
30 November 2020
30 November 2020
in a date format:
df['Date']=pd.to_datetime(df['Date'], errors='coerce', format='%m %d %Y')
However I've got NaT
values instead of 10/31/2020 and 11/30/2020. After using the code, the type is dtype('<M8[ns]')
.
Can you explain me where the error is?
Try:
import pandas as pd
from io import StringIO
inputtxt = StringIO("""Date
31 October 2020
31 October 2020
31 October 2020
30 November 2020
30 November 2020""")
df = pd.read_csv(inputtxt)
df['Date2'] = pd.to_datetime(df['Date'], format='%d %B %Y').dt.strftime('%m/%d/%Y')
print(df)
Output:
Date Date2
0 31 October 2020 10/31/2020
1 31 October 2020 10/31/2020
2 31 October 2020 10/31/2020
3 30 November 2020 11/30/2020
4 30 November 2020 11/30/2020