从pandas数据框中的日期列获取年龄(当前日期格式:MM / DD / YYYY HH:MM)

时间:2018-07-23 10:34:52

标签: python pandas date

如何从熊猫数据框中的日期列中获取年龄(当前日期格式: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

我是熊猫新手,请提出可能的解决方案。

2 个答案:

答案 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')