我有2个日期时间列,如下所示:
第1列:
0 2016-06-30 16:57:12.219297
1 2016-07-19 16:02:21.408984
2 2016-07-19 16:02:21.408984
3 2017-08-31 16:35:14.414915
4 2017-08-31 16:35:14.414915
5 2016-07-14 19:39:21.029636
6 2018-07-30 15:10:41.919970
7 2016-08-16 13:50:16.941665
8 2017-04-27 22:19:32.264015
9 2018-06-25 19:47:42.126527
第2列:
0 2019-07-02 21:06:06.080788
1 2019-06-02 21:58:55.188987
2 2019-06-02 21:59:25.069153
3 2016-07-14 19:39:21.029636
4 2018-07-30 15:10:41.919970
5 2017-08-31 16:35:14.414915
6 2017-08-31 16:35:14.414915
7 2019-01-21 15:20:07.471152
8 2017-07-20 17:24:44.189102
9 2017-07-20 17:24:44.189102
我想计算2之间的时间差并以天为单位获取结果。完成此操作后,我希望保留介于<45天和> 45天之间的结果。
我该怎么做?
预先感谢
答案 0 :(得分:1)
使用Series.dt.days
将时间增量转换为天数并按boolean indexing
进行过滤:
df['diff'] = (df['col2'] - df['col1']).dt.days
df1 = df[df['diff'] < 45]
df2 = df[df['diff'] > 45]