2017-08-10 71 views
1

我有一列“brth_dt”,它的类型是datetime64 [ns],如何从中提取人的年龄?我搜索了很多,但没有找到答案“大熊猫:强大的Python数据分析工具包发布0.19.2”pandas/dataframe/datetimes如何从brth_dt列中提取年龄

df['brth_dt'].head()

 
cst_id 
1  1976-09-23 
2  1967-01-09 
3  1990-08-04 

非常感谢

回答

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 
+0

工作的很好,tks.btw,我想用iloc来提取数据,比如df.iloc [:,2:3],但是如何确认列df ['age']的数字? –

+0

你的意思是获得列时间的索引吗? – Dark

+0

yes如何获得列的索引? –