我有一个列“brth_dt”,它的类型是datetime64 [ns],如何从中提取人的年龄?我搜索了很多,但在“pandas:强大的Python数据分析工具包版本0.19.2中找不到答案“
df['brth_dt'].head()
cst_id 1 1976-09-23 2 1967-01-09 3 1990-08-04
非常感谢
答案 0 :(得分:3)
您可以从今天开始减去出生日期,并将天数除以365
df['age'] = (pd.datetime.today() - df['brth_dt']).dt.days/365
或基于谷歌
乘以0.00273973
df['age'] = (pd.datetime.today() - df['brth_dt']).dt.days*0.00273973
输出:
brth_dt age 0 1976-09-23 40.906909 1 1967-01-09 50.619251 2 1990-08-04 27.035656
如果您只想减去年份,也可以
df['age'] = (pd.datetime.today().year - df['brth_dt'].dt.year)
输出:
brth_dt age 0 1976-09-23 41 1 1967-01-09 50 2 1990-08-04 27