如何解决通过将天转换为小时以HH:MM:SS格式显示熊猫timedelta
如果我使用
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小时是多少分钟(和秒)
解决方法
尝试一下
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)
让我知道您的结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。