如果我使用
first_an_last['duration'] = (first_an_last.last_time - first_an_last.first_time)
我明白了
0 0 days 04:19:00
1 2 days 04:39:00
2 1 days 06:10:00
哪个很好,但我想显示这个:
0 04:19:00
1 52:39:00
2 30:10:00
我当然可以拥有这个
first_an_last['duration'] = (first_an_last.last_time - first_an_last.first_time) / pd.Timedelta(hours=1)
我可以得到的地方
0 4.316667
1 52.650000
2 30.166667
但是我想将其显示为HH:MM:SS格式,而不考虑小时数,因为在此示例中用户不了解0.65小时是多少分钟(和秒)
答案 0 :(得分:0)
尝试一下
def converter(x):
hour = x.hour + (x.days * 24)
hour = hour if hour > 9 else "0"+str(hour)
minutes = x.minutes if minutes > 9 else "0"+str(minutes)
seconds = x.seconds if minutes > 9 else "0"+str(seconds)
return f"{hour}:{minutes}:{seconds}"
考虑列first_an_last['duration']
采用timedelta
格式
first_an_last['duration'] = first_an_last['duration'].apply(lambda x: converter(x.components)
如果first_an_last['duration']
的格式不是timedelta
,请尝试以下一种格式
first_an_last['duration'] = first_an_last['duration'].apply(lambda x: converter(pd.to_timedelta(x).components)
让我知道您的结果