问题
群友提问:请问用python语言,怎么求这个故障时长?想了好久,总不对。
严小样儿:安排!

安排
(原始数据)

一、导包读数
1import pandas as pd
2import datetime
3data = pd.read_excel("工作簿1.xlsx",usecols=[i for i in range(6)])
二、时差计算
1# 先求出现在时间,便于做时间差值
2now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
3# 转换为时间格式
4data['发生时间'] = pd.to_datetime(data['发生时间'])
5# 计算时间差值
6delta = pd.to_datetime(now) - data['发生时间']
7# 转换单位为分钟(小时,秒均可)
8data['故障发生时长(分)'] = delta.dt.days*1440 + delta.dt.seconds/60
(中间结果)

此时,虽然达到了群友的要求,但是感觉结果并不太直观。大家可以根据真实的业务场景需要进行一下格式化输出,下面的代码提供大家一种思路。
三、保存数据
1# 为了结果更加直观,做个小小的处理
2data['故障发生时长(分)'] = data['故障发生时长(分)'].map(lambda x: str(round(x//1440)) + '天'+str(round(x % 1440)) + '分')
3data.to_excel(r"C:/Users/Administrator/Desktop/result.xlsx",index = False ,sheet_name='result')
(最终结果)

更多精彩
传送门3:分组排序求前三?TopN问题?一文教你MySQL各类排序操作

看完,读完,要“在看” ↓↓↓
本文介绍如何使用Python和pandas库计算设备故障时长,包括数据读取、时间差计算及结果格式化输出,适用于故障监测与数据分析场景。
1547

被折叠的 条评论
为什么被折叠?



