You need to enable JavaScript to run this app. Python Numpy计算时间间隔统计值及最大索引并转天时分秒的方法
优惠活动
大模型
产品
解决方案
定价
更多

Python Numpy计算时间间隔统计值及最大索引并转天时分秒的方法

Numpy时间差统计及格式转换实现方案

实现逻辑

你现有代码的统计值计算部分已经符合要求,只需要补充秒数转天/时/分/秒的转换逻辑即可,转换规则基于固定时间换算关系:1天=86400秒、1小时=3600秒、1分钟=60秒。

完整可运行代码

import numpy as np 

# 秒数转天、小时、分钟、秒格式的通用函数
def sec2dhms(total_sec):
    day = total_sec // 86400
    remain = total_sec % 86400
    hour = remain // 3600
    remain = remain % 3600
    minute = remain // 60
    second = remain % 60
    return int(day), int(hour), int(minute), int(second)

# 原有业务代码
dates= np.array(['2017-09-15 07:11:00' ,'2017-09-15 11:25:30', '2017-09-15 12:11:10', '2021-04-07 22:43:12', '2021-04-08 00:49:18'], 
                dtype="datetime64[ns]")
delta_s = np.diff(dates) // 1e9 # 纳秒转换为秒

# 原有统计计算代码
delta_avg = np.average(delta_s)
delta_median= np.median(delta_s)
delta_max = np.max(delta_s)
delta_max_index= np.argmax(delta_s)

# 新增格式转换逻辑
avg_dhms = sec2dhms(delta_avg)
median_dhms = sec2dhms(delta_median)
max_dhms = sec2dhms(delta_max)

# 结果打印
print(f"时间差序列(单位:秒):{delta_s}")
print(f"最大值索引:{delta_max_index}")
print(f"平均值:{delta_avg:.2f}秒 → {avg_dhms[0]}天 {avg_dhms[1]}小时 {avg_dhms[2]}分钟 {avg_dhms[3]}秒")
print(f"中位数:{delta_median:.2f}秒 → {median_dhms[0]}天 {median_dhms[1]}小时 {median_dhms[2]}分钟 {median_dhms[3]}秒")
print(f"最大值:{delta_max:.2f}秒 → {max_dhms[0]}天 {max_dhms[1]}小时 {max_dhms[2]}分钟 {max_dhms[3]}秒")

运行输出示例

时间差序列(单位:秒):[ 15270. 2740. 112739522. 7566.]
最大值索引:2
平均值:28191274.50秒 → 326天 7小时 34分钟 34秒
中位数:11418.00秒 → 0天 3小时 10分钟 18秒
最大值:112739522.00秒 → 1304天 20小时 32分钟 2秒

内容的提问来源于stack exchange,提问作者georgehere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 23:15:04