如何将 'O' 值转换为日期格式
How to convert 'O' values to date format
我尝试转换具有 'O' 值的列,如
31 October 2020
31 October 2020
31 October 2020
30 November 2020
30 November 2020
日期格式:
df['Date']=pd.to_datetime(df['Date'], errors='coerce', format='%m %d %Y')
但是我得到了 NaT
值,而不是 10/31/2020 和 11/30/2020。使用代码后,类型为dtype('<M8[ns]')
.
你能解释一下错误在哪里吗?
尝试:
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)
输出:
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
我尝试转换具有 'O' 值的列,如
31 October 2020
31 October 2020
31 October 2020
30 November 2020
30 November 2020
日期格式:
df['Date']=pd.to_datetime(df['Date'], errors='coerce', format='%m %d %Y')
但是我得到了 NaT
值,而不是 10/31/2020 和 11/30/2020。使用代码后,类型为dtype('<M8[ns]')
.
你能解释一下错误在哪里吗?
尝试:
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)
输出:
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