Python 如何使用

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和一些浮点数的dataframe; 我需要创建包含两列的数据框:date_subtract(date1-date2)和一些int。问题是如何将日期(1.7.2015 17:26:23)转换为一年中的天数(188)

我的代码:

      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