只能将 .dt 访问器与 datetimelike 值一起使用

lak*_*esh 3 python datetime

当我尝试将字符串转换为日期时间时,我遇到了一些问题。

testdata['pe']
Out[69]: 
0     2019-09-26
1     2019-10-31
2     2019-08-28
3     2019-06-20
4     2019-09-30
5     2019-07-22
6     2019-07-31
7     2019-08-30
8     2019-07-29
9     2019-06-28
10    2019-11-20
Name: prd_exp_dt, dtype: object
Run Code Online (Sandbox Code Playgroud)

当我这样做时testdata.pe=testdata.pe.dt.strftime('%Y%M'),我收到此错误:

Can only use .dt accessor with datetimelike values
Run Code Online (Sandbox Code Playgroud)

试图做错误:“corerce”,像这样:

pandas.to_datetime(testdata['prd_exp_dt'],errors = 'coerce',format = '%Y%M')
Out[68]: 
0    NaT
1    NaT
2    NaT
3    NaT
4    NaT
5    NaT
6    NaT
7    NaT
8    NaT
9    NaT
10   NaT
Name: prd_exp_dt, dtype: datetime64[ns]
Run Code Online (Sandbox Code Playgroud)

需要一些指导。

Rak*_*esh 9

使用格式'%Y-%m-%d'和使用.dt.strftime("%Y%m")

前任:

import pandas as pd
testdata['prd_exp_dt'] = pd.to_datetime(testdata['prd_exp_dt'] ,errors = 'coerce',format = '%Y-%m-%d').dt.strftime("%Y%m")
Run Code Online (Sandbox Code Playgroud)