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

Pandas如何将另一列的分钟数加到时间列生成新列

Pandas 时间列加分钟数实现方案

你之前用timedelta未成功,核心是两个问题:原生Python的timedelta不支持Pandas Series批量运算、object类型的分钟列无法直接参与时间差计算,按以下步骤实现即可:

完整实现代码

import pandas as pd

# 原始测试数据
data = {'time':['10:45:00', '09:30:00', '17:00:00', '15:50:00'], 'minutes_to_be_add': [10, 5, 7, 20]}
df = pd.DataFrame(data=data)

# 若time列还未转成datetime类型,先执行类型转换(已是datetime64[ns]可跳过)
df['time'] = pd.to_datetime(df['time'], format='%H:%M:%S')

# 分钟列转数值后生成对应时间差,和time列相加得到结果
df['future_time'] = df['time'] + pd.to_timedelta(pd.to_numeric(df['minutes_to_be_add']), unit='m')

# 格式化输出为时分秒字符串,匹配你需要的展示效果
df['future_time'] = df['future_time'].dt.strftime('%H:%M:%S')

运行结果

执行后打印df['future_time']输出如下,完全匹配预期:

0    10:55:00
1    09:35:00
2    17:07:00
3    16:10:00
Name: future_time, dtype: object

常见踩坑说明

  • 不要直接用Python原生datetime.timedelta处理整列数据,它只支持单个数值输入,批量处理Pandas列必须用pd.to_timedelta做向量化运算
  • minutes_to_be_add为object类型时,哪怕存储的内容是数字,也需要先用pd.to_numeric转成整数/浮点型,否则无法被识别为有效的时间差参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 13:42:29