You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas计算指定时间段落在各时间区间内的分钟数

Pandas计算指定时间段落在预设区间的分钟数方法

核心逻辑是将所有时间点转为pandas.Timedelta格式,计算待计算时间段和每个预设区间的交集时长,再转换为分钟数即可,支持多区间自定义扩展。


单组时间计算代码示例

import pandas as pd

# 自定义预设区间,可按需求新增/修改
preset_intervals = [
    ("interval 1", "00:00:00", "08:00:00"),
    ("interval 2", "08:00:00", "24:00:00")
]

# 待计算的起止时间
time_start = pd.to_timedelta("06:30:00")
time_end = pd.to_timedelta("13:00:00")

# 逐个区间计算交集分钟数
result = {}
for interval_name, int_start, int_end in preset_intervals:
    int_start_td = pd.to_timedelta(int_start)
    int_end_td = pd.to_timedelta(int_end)
    # 交集起始为两个起始时间的较大值,交集结束为两个结束时间的较小值
    overlap_start = max(time_start, int_start_td)
    overlap_end = min(time_end, int_end_td)
    # 无交集时结果为0
    minutes = max(0, (overlap_end - overlap_start).total_seconds() / 60)
    result[interval_name] = int(minutes)

# 输出结果
for k, v in result.items():
    print(f"{k} = {v} minutes")

运行输出

interval 1 = 90 minutes
interval 2 = 300 minutes

DataFrame批量计算代码示例

如果需要对DataFrame中的多行起止时间批量计算,可封装为函数使用apply处理:

import pandas as pd

preset_intervals = [
    ("interval_1", "00:00:00", "08:00:00"),
    ("interval_2", "08:00:00", "24:00:00")
]

def calc_interval_minutes(row):
    start = row["time_start"]
    end = row["time_end"]
    res = []
    for _, int_start, int_end in preset_intervals:
        int_start_td = pd.to_timedelta(int_start)
        int_end_td = pd.to_timedelta(int_end)
        overlap_start = max(start, int_start_td)
        overlap_end = min(end, int_end_td)
        res.append(int(max(0, (overlap_end - overlap_start).total_seconds()/60)))
    return pd.Series(res)

# 示例DataFrame,先将时间列转为Timedelta格式
df = pd.DataFrame({
    "time_start": ["06:30:00", "22:00:00", "09:00:00"],
    "time_end": ["13:00:00", "02:00:00", "17:00:00"]
})
df[["time_start", "time_end"]] = df[["time_start", "time_end"]].apply(pd.to_timedelta)

# 批量计算结果写入新列
df[["interval1_min", "interval2_min"]] = df.apply(calc_interval_minutes, axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:06:07