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

如何用Python的Pandas处理时间转换与分钟累加需求

用Pandas处理Excel时间数据:转换分钟数与计算累计差值

需求说明

  • 将Excel中Column B的HH:MM:SS格式时间转换为分钟数(保留两位小数),存入Column C
  • 计算累计差值:首行Column D为0,后续行取当前Column C值与首行Column C值的差值(保留两位小数)

原始数据

Column AColumn B
12/1/20223:51:52
12/1/20223:53:31
12/1/20223:55:11

实现代码

import pandas as pd

# 读取Excel文件,替换为你的文件路径
df = pd.read_excel("your_file.xlsx")

# 1. 将Column B转换为分钟数并保留两位小数
df['Column C'] = pd.to_timedelta(df['Column B']).dt.total_seconds() / 60
df['Column C'] = df['Column C'].round(2)

# 2. 计算累计差值,首行设为0
first_c_value = df['Column C'].iloc[0]
df['Column D'] = (df['Column C'] - first_c_value).round(2)
# 强制首行为0,避免浮点运算带来的微小误差
df.loc[0, 'Column D'] = 0

# 查看结果或保存到新Excel
print(df)
# df.to_excel("processed_data.xlsx", index=False)

运行结果

Column AColumn BColumn CColumn D
12/1/20223:51:5251.870
12/1/20223:53:3153.521.65
12/1/20223:55:1155.183.32

代码解释

  • pd.to_timedelta(df['Column B']):把字符串格式的时间转为时间差类型,方便数值计算
  • .dt.total_seconds() / 60:将时间差转换为总秒数后除以60,得到分钟数
  • round(2):按需求保留两位小数
  • 提取首行Column C的值作为基准,后续行用当前值减去基准值得到累计差值,最后强制首行为0消除浮点误差

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:15:41