我有一个数据框df,它带有一个"Year-Month-Day (1994-01-01)"
格式的DOB(出生日期),并且DOB变量是一个对象。
我需要使用此DOB变量为每个人分配年龄。我注意到我需要使用datetime
来查找年龄,并且需要先将格式转换为"Year/Month/Day (1994/01/01)"
。
我想知道是否有人可以提供帮助。
谢谢!
答案 0 :(得分:0)
now = pd.Timestamp('now')
df['dob'] = pd.to_datetime(df['dob'])
df['age'] = (now - df['dob']).astype('<m8[Y]')
print(df)
将str隐藏到日期时间对象中
您可以从现在开始减去dob以获得timedelta64 [ns]。要将其转换为年份,请使用astype('
最后一次格式化
df['dob'].apply(lambda x: x.strftime('%Y/%m/%d'))