Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将对象转换为“仅日期”和“两列之间的差异”_Python_Python 3.x_Pandas - Fatal编程技术网

Python 将对象转换为“仅日期”和“两列之间的差异”

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

我有一个数据框,其中有两列要在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)

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