“AttributeError:在尝试从日期列中提取年份时,只能使用具有日期时间值的.dt访问器”

时间:2017-09-18 03:47:06

标签: python pandas datetime dataframe

我有一个日期框架,其中有一列'brth_dt',其类型为datetime64 [ns]。我想提取人的年龄,但输入时: all_df ['brth_dt']。dt.year或
all_df ['age'] =(pd.datetime.today()。year - all_df ['brth_dt']。dt.year)

出现错误:只能使用带日期时间值的.dt访问器

brth_dt列是这样的:

    brth_date
1   14Oct1978
2   21Aug1970
3   06Jan1980
4   09Mar1992

任何建议?谢谢!

1 个答案:

答案 0 :(得分:2)

您需要先使用

将列转换为datetime
df['brth_date'] = pd.to_datetime(df['brth_date'], format = '%d%b%Y')

您可以使用dt访问者

df['brth_date'].dt.year

你得到了

1    1978
2    1970
3    1980
4    1992