当尝试从日期列中提取年份时,“AttributeError:只能使用带有日期时间值的.dt访问器”[复制]

问题描述 投票:-3回答:1

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

出现错误:只能使用具有datetimelike值的.dt访问器

brth_dt列是这样的:

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

有什么建议吗?谢谢!

python pandas datetime dataframe
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.