1(pd.to_datetime('today').year-pd.to_datetime('1956-07-01').year)
2
3Out[83]: 61
1import datetime as DT
2import io
3import numpy as np
4import pandas as pd
5
6pd.options.mode.chained_assignment = 'warn'
7
8content = ''' ssno lname fname pos_title ser gender dob
90 23456789 PLILEY JODY BUDG ANAL 0560 F 031871
101 987654321 NOEL HEATHER PRTG SRVCS SPECLST 1654 F 120852
112 234567891 SONJU LAURIE SUPVY CONTR SPECLST 1102 F 010999
123 345678912 MANNING CYNTHIA SOC SCNTST 0101 F 081692
134 456789123 NAUERTZ ELIZABETH OFF AUTOMATION ASST 0326 F 031387'''
14
15df = pd.read_csv(io.StringIO(content), sep='\s{2,}')
16df['dob'] = df['dob'].apply('{:06}'.format)
17
18now = pd.Timestamp('now')
19df['dob'] = pd.to_datetime(df['dob'], format='%m%d%y') # 1
20df['dob'] = df['dob'].where(df['dob'] < now, df['dob'] - np.timedelta64(100, 'Y')) # 2
21df['age'] = (now - df['dob']).astype('<m8[Y]') # 3
22print(df)