pandas / dataframe / datetimes如何从brth_dt列中提取年龄

时间:2017-08-10 02:45:32

标签: pandas datetime dataframe

我有一个列“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

非常感谢

1 个答案:

答案 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