中间日期之间的区别-整数结果

时间:2019-06-23 14:30:15

标签: python pandas dataframe python-datetime

我需要计算datetime类型的两列之间的差,结果必须以天为单位(整数格式)。但是,我得到的是每天/每月/每年的小时和分钟的结果。

    id                  date_1      date_2              date_3                  date_result_2-1     date_result_3-1
0   C_ID_92a2005557     2017-06-01  2017-06-27 14:18:08 2018-04-29 11:23:05     26 days 14:18:08    332 days 11:23:05
1   C_ID_3d0044924f     2017-01-01  2017-01-06 16:29:42 2018-03-30 06:48:26     5 days 16:29:42     453 days 06:48:26
2   C_ID_d639edf6cd     2016-08-01  2017-01-11 08:21:22 2018-04-28 17:43:11     163 days 08:21:22   635 days 17:43:11
3   C_ID_186d6a6901     2017-09-01  2017-09-26 16:22:21 2018-04-18 11:00:11     25 days 16:22:21    229 days 11:00:11
4   C_ID_cdbd2c0db2     2017-11-01  2017-11-12 00:00:00 2018-04-28 18:50:25     11 days 00:00:00    178 days 18:50:25

最后两列是通过两列之间的简单减法获得的结果。我希望这些列为完整格式,仅包含天数。

我尝试使用astype(int)进行转换,但结果是我无法理解。

有什么建议吗?预先非常感谢。

1 个答案:

答案 0 :(得分:2)

如果只需要几天,请尝试以下操作:

df = pd.DataFrame(data={"date":['2000-05-07','1965-01-30','NaT'],
                   "date_2":["2019-01-19 12:26:00","2019-03-21 02:23:12", "2018-11-02 18:30:10"]})


df['date'] = pd.to_datetime(df['date']).dt.date
df['date_2'] = pd.to_datetime(df['date_2']).dt.date

df['days'] = (df['date']-df['date_2']).dt.days