С некоторым целочисленным делением и делением остатка вы можете использовать total_seconds
, чтобы выяснить, как отформатировать вашу строку. В настоящее время этот метод игнорирует миллисекунды.
def format_timedelta(s):
s = s.dt.total_seconds()
seconds = (s%60).astype(int).astype(str).str.zfill(2)
minutes = (s//60%60).astype(int).astype(str).str.zfill(2)
hours = (s//3600).astype(int).astype(str)
return hours+':'+minutes+':'+seconds
s = pd.Series(pd.to_timedelta(['24:20:00', '00:15:00', '123:12:12',
'123:02:12', '4:20:00.1123']))
format_timedelta(s)
0 24:20:00
1 0:15:00
2 123:12:12
3 123:02:12
dtype: object