只能将.dt访问器与类似datetime的值一起使用

时间:2019-06-21 07:09:14

标签: 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

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

Can only use .dt accessor with datetimelike values

尝试执行错误:“错误”,如下所示:

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]

对此需要一些指导。

1 个答案:

答案 0 :(得分:2)

使用格式'%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")