Python 如何使用
我有三列date1、date2和一些浮点数的dataframe; 我需要创建包含两列的数据框:date_subtract(date1-date2)和一些int。问题是如何将日期(1.7.2015 17:26:23)转换为一年中的天数(188) 我的代码:Python 如何使用,python,pandas,Python,Pandas,我有三列date1、date2和一些浮点数的dataframe; 我需要创建包含两列的数据框:date_subtract(date1-date2)和一些int。问题是如何将日期(1.7.2015 17:26:23)转换为一年中的天数(188) 我的代码: date1 date2 some_float 1.7.2015 1
date1 date2 some_float
1.7.2015 17:26:23 26.4.2015 14:46:33 2.99
5.5.2015 20:26:16 26.4.2015 14:46:33 2.99
29.4.2015 16:59:22 26.4.2015 14:46:33 2.99
13.5.2015 18:07:03 26.4.2015 14:46:33 6.99
4.5.2015 12:29:41 26.4.2015 14:46:33 6.99
30.4.2015 15:59:54 26.4.2015 14:46:33 2.99
6.5.2015 15:58:17 26.4.2015 14:46:33 2.99
2.5.2015 09:06:12 26.4.2015 14:46:33 2.99
我想:
date_dif some_float
72 2.99
9 2.99
... ...
72为1.7.2015-26.4.2015,9为5.5.2015-26.4.2015
如何执行此操作?如果尚未执行此操作,请将表示日期的列转换为日期时间
In [12]: df['date1'] = pd.to_datetime(df['date1'], dayfirst=True)
In [13]: df['date2'] = pd.to_datetime(df['date2'], dayfirst=True)
然后,您可以直接减去这两列,得到一个表示经过的时间的值
In [14]: df['date1'] - df['date2']
Out[14]:
0 66 days 02:39:50
1 9 days 05:39:43
2 3 days 02:12:49
3 17 days 03:20:30
4 7 days 21:43:08
5 4 days 01:13:21
6 10 days 01:11:44
7 5 days 18:19:39
dtype: timedelta64[ns]
如果您只需要天数,您可以这样做,[D]
是单位
In [15]: (df['date1'] - df['date2']).astype('timedelta64[D]')
Out[15]:
0 66
1 9
2 3
3 17
4 7
5 4
6 10
7 5
dtype: float64