超过24小时的持续时间将变为datetime.datetime而不是datetime.TIME。例如“ 24:35:23”变成“ 1900-01-01 00:35:23”?

时间:2019-09-24 14:52:58

标签: python pandas datetime timedelta

Excel文件具有三列。前两个具有日期时间,第三个具有持续时间:

start               end                   duration
2019-03-31 11:44:58 2019-03-31 12:39:03   0:54:05
2019-03-31 11:42:32 2019-03-31 14:05:35   2:23:03
2019-03-31 11:37:24 2019-03-31 17:04:26   5:27:02
2019-03-30 16:57:59 2019-03-31 17:33:22   24:35:23
2019-03-31 14:34:09 2019-03-31 18:01:01   3:26:52

但是,当我将此文件读入pandas数据框时,超过24小时的值就混乱了:

df.head()
        start                 end                      duration
5096    2019-03-31 11:44:58   2019-03-31 12:39:03      00:54:05
5097    2019-03-31 11:42:32   2019-03-31 14:05:35      02:23:03
5098    2019-03-31 11:37:24   2019-03-31 17:04:26      05:27:02
5099    2019-03-30 16:57:59   2019-03-31 17:33:22      1900-01-01 00:35:23
5100    2019-03-31 14:34:09   2019-03-31 18:01:01      03:26:52

“持续时间”列中正确值的类型为datetime.time,但“ 1900-01-01 00:35:23”(应该是“ 24:35:23”)具有现在变成datetime.datetime

问题:如何防止24小时内的“ 24:35:23”和其他值变成datetime.datetime并弄乱了?

稍后,我想将“ duration”列中的值转换为timedelta类型,但该值应采用%H:%M:%S的形式才能成功。

0 个答案:

没有答案