日常答疑|Python处理时间格式并计算时间差值

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

问题

群友提问:请问用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')

(最终结果)

更多精彩

传送门1:日常答疑|Python向量化操作、矩阵运算

传送门2:基于Python|“数据分析岗位”招聘情况分析!

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

看完,读完,要“在看” ↓↓↓

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值