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

Pandas根据起止时间差逐分钟生成对应数据行的实现问题

可直接运行的实现代码

import pandas as pd

# 读取原始数据
df = pd.read_csv('sample.csv')

# 将字符串格式的起止时间转换为pandas datetime类型,方便时间运算
df['Starttime'] = pd.to_datetime(df['Starttime'], format='%H:%M:%S')
df['Endtime'] = pd.to_datetime(df['Endtime'], format='%H:%M:%S')

# 对每一行生成从起始时间到结束时间、间隔1分钟的连续时间序列
df['time'] = df.apply(lambda row: pd.date_range(start=row['Starttime'], end=row['Endtime'], freq='1min'), axis=1)

# 将存储时间序列的列展开为多行,保留对应的Lap字段
result = df.explode('time')[['Lap', 'time']]

# 将datetime格式转换为你需要的hh:mm:ss字符串格式
result['time'] = result['time'].dt.strftime('%H:%M:%S')

# 可直接输出查看结果,也可以用result.to_csv('output.csv', index=False)保存为文件
print(result)

核心逻辑说明

  • 原始csv读取的时间是字符串类型,必须先转换为datetime类型才能进行时间序列运算,指定format参数可以避免自动识别出错,同时提升转换效率
  • pd.date_range 内置支持按指定间隔生成连续时间,设置freq='1min'即可实现1分钟步长,自动包含起止时间,刚好匹配你需要的行数要求
  • explode 方法可以直接将单列的列表类数据拆分为多行,无需手动写循环拼接,性能和可读性都更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:24:02