使用出生日期计算年龄变量



我有一个数据帧,它有出生日期变量,我需要使用python根据给定时间段的出生日期变量计算年龄。请建议

示例

DOB         AGE    TIME PERIOD 
31-12-1990     28     01-02-2017
01-01-1987     32     01-02-2017
12-07-1992     26     01-02-2017

我需要AGE列中所有行的值。

为什么不pandas:

import pandas as pd
df=pd.read_csv(filename)
df['DOB']=pd.to_datetime(df['DOB'])
df['TIME PERIOD']=pd.to_datetime(df['TIME PERIOD'])
df.insert(1,'AGE',(df['TIME PERIOD']-df['DOB']).astype('<m8[Y]').astype(int))
print(df)

输出:

DOB  AGE TIME_PERIOD
0 1990-12-31   26  2017-01-02
1 1987-01-01   30  2017-01-02
2 1992-12-07   24  2017-01-02

但你会想为什么我的代码中的年龄不正确,但实际上,如果你仔细想想,我的代码是对的,所以这也是一个修正。

最新更新