如何从熊猫数据框中的日期列中获取年龄(当前日期格式:MM / DD / YYYY HH:MM)。 预期年龄(岁)。
ID name dateofbirth
0 Raj 9/17/1966 01:37
1 Joe 11/13/1937 19:20
2 mano 1/5/1964 20:05
3 Rishi 11/13/1937 0:00
我是熊猫新手,请提出可能的解决方案。
答案 0 :(得分:2)
这是一种方法
import pandas as pd
import datetime
now = datetime.datetime.now()
df['dateofbirth'] = pd.to_datetime(df['dateofbirth'], format='%Y-%m-%d_%H:%M:%S')
df["Age"] = (now.date() - df['dateofbirth']).astype('<m8[Y]')
print(df)
输出:
ID name dateofbirth Age
0 0 Raj 1966-09-17 01:37:00 51.0
1 1 Joe 1937-11-13 19:20:00 80.0
2 2 mano 1964-01-05 20:05:00 54.0
3 3 Rishi 1937-11-13 00:00:00 80.0
答案 1 :(得分:0)
您可以从现在开始减去并转换为年份:
import pandas as pd
s = pd.to_datetime(['9/17/1966 01:37', '11/13/1937 19:20',
'1/5/1964 20:05', '11/13/1937 0:00'])
age = (pd.to_datetime('now') - pd.to_datetime(s)).astype('<m8[Y]')
print(age)
Int64Index([51, 80, 54, 80], dtype='int64')