Python 将对象转换为“仅日期”和“两列之间的差异”
我有一个数据框,其中有两列要在date中给出,但该数据框的数据类型是object DF: 我想从A中减去B,得到每列中的年数和天数 预期产出:Python 将对象转换为“仅日期”和“两列之间的差异”,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个数据框,其中有两列要在date中给出,但该数据框的数据类型是object DF: 我想从A中减去B,得到每列中的年数和天数 预期产出: NO OF YEARS NO OF DAYS 1 320 2 600 3 900 我认为需要将所有值转换为datetimes,然后减去并将TimeDelta转换为,因为使用年份除以 df = df.apply(pd.to_datetime) d
NO OF YEARS NO OF DAYS
1 320
2 600
3 900
我认为需要将所有值转换为datetimes,然后减去并将TimeDelta转换为,因为使用年份除以
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
我认为需要将所有值转换为datetimes,然后减去并将TimeDelta转换为,因为使用年份除以
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