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

如何将pandas DataFrame中字符串格式的时间列转换为总分钟数

pandas时间字符串转分钟数值解决方案

你可以通过正则提取时间分量的方式实现转换,该方法天然兼容仅包含分钟、同时包含小时+分钟的两种格式:

步骤1:导入依赖并构造示例数据

import pandas as pd
df = pd.DataFrame({'Time': ['20hours 10minutes', '18hours 10minutes',
                            '15minutes', '1minutes']})

步骤2:核心转换逻辑

分别提取小时和分钟的数值,无对应分量时填充为0再做计算:

# 提取小时数,匹配不到小时的行填充0
hours = df['Time'].str.extract(r'(\d+)hours', expand=False).fillna(0).astype(int)
# 提取分钟数
minutes = df['Time'].str.extract(r'(\d+)minutes', expand=False).fillna(0).astype(int)
# 计算总分钟数并写入新列
df['Time_minutes'] = hours * 60 + minutes

转换后结果

TimeTime_minutes
020hours 10minutes1210
118hours 10minutes1090
215minutes15
31minutes1

方案优势

  • 无需提前做字符串分割、格式判断等额外预处理,适配场景全
  • 基于pandas向量化操作实现,性能远高于逐行遍历的写法,大体积数据集也能快速处理
  • 正则规则可灵活扩展,后续如果新增秒、天等时间单位,只需要新增对应提取逻辑即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 05:36:07