我有一个数据框,该数据框具有出生日期变量,我需要使用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
我需要“年龄”列中所有行的值。
答案 0 :(得分:0)
为什么不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
但是您会考虑为什么我的代码中的年龄是不正确的,但是实际上,如果您考虑一下,我的代码是正确的,因此也可以解决此问题。