Python 获取熊猫数据框中的“从日期开始的年龄”列(当前日期格式:MM/DD/YYYY HH:MM)
如何在熊猫数据框(当前日期格式:MM/DD/YYYY HH:MM)中从日期列获取年龄。 年龄以年为单位Python 获取熊猫数据框中的“从日期开始的年龄”列(当前日期格式:MM/DD/YYYY HH:MM),python,pandas,date,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 我刚接触熊猫,请建议可能的解决方案。您可以从现在开始减去并转换为年份: import pandas as pd s =
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
我刚接触熊猫,请建议可能的解决方案。您可以从现在开始减去并转换为年份:
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')
将熊猫作为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('这是一种方法
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)
这可以正常工作,如果日期的格式类似于“5/28/56 12:00 AM”,则其抛出错误:ValueError:时间数据“4/28/56 12:00 AM”与格式“%Y-%m-%d\uh:%m:%S”不匹配您可能需要标准化日期时间
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