我认为需要将所有值转换为datetimes,然后减去
sub
并将时间增量转换为
days
,多年来被用来除以
constant 365.2425
具有
floor
以下内容:
df = df.apply(pd.to_datetime)
df['days'] = df['B'].sub(df['A']).dt.days
df['years'] = np.floor(df['days'] / 365.2425).astype(int)
print (df)
A B days years
0 2002-07-27 2013-05-29 3959 10
1 2004-05-25 2005-04-21 331 0
2 2008-04-22 2010-04-28 736 2
3 2007-06-22 2008-07-30 404 1
4 2008-07-26 2011-06-21 1060 2
5 2008-07-29 2013-06-20 1787 4
6 2000-06-26 2005-07-23 1853 5
7 1991-06-20 2013-07-27 8073 22
8 2005-05-22 2010-04-27 1801 4