timedelta64 представлено 0 дней, если меньше 1 дня

У меня есть фрейм данных как минимум с двумя столбцами даты и времени.

from io import StringIO
import pandas as pd

dfstr = StringIO(u"""
eqpt;starttm;endtm;use_count;desc
AT1;2017-04-01 10:35;2017-04-01 11:05;2;test asdf1
AT2;2017-04-01 11:00;2017-04-01 11:30;5;test asdf2
AT1;2017-04-01 11:00;2017-04-01 11:30;4;test asdf3
AT3;2017-04-01 10:45;2017-04-01 11:45;3;test asdf4
CBL1;2017-04-01 11:10;2017-04-1 11:40;4;test asdf5
""")
df = pd.read_csv(dfstr, sep=";", parse_dates=["starttm", "endtm"])

Я хотел бы вычислить продолжительность перерывов между последовательными starttm и endtm Я могу взять простую разницу

r=(df['starttm']-df['endtm'].shift(-1))

Но тогда мой результат выглядит так

0   -1 days +23:30:00
1   -1 days +23:30:00
2   -1 days +23:30:00
3   -1 days +23:00:00
4   -1 days +23:30:00
dtype: timedelta64[ns]

что верно численно. Однако мне нужно, чтобы он был в более удобном для человека формате, например 0 days -30:00:00 Как округлить до 0 дней?


person 00__00__00    schedule 31.01.2018    source источник
comment
См. здесь и здесь   -  person Roald    schedule 02.03.2018