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

如何在Python Pandas中将分:秒格式转为单节剩余秒数?

解决方案:Pandas转换足球比赛剩余秒数

问题原因

直接调用split()报错,是因为split()是Python字符串的原生方法,而Pandas的Series是批量数据对象,需要用.str访问器来对Series里的每个字符串元素调用字符串方法,也就是用str.split()而非直接split()。

方法一:拆分字符串计算

拆分分钟和秒字段,计算已用时间后用单节总秒数900减去得到剩余秒数:

import pandas as pd

# 拆分gameClock为分钟、秒两列并转为整数类型
df[['mins', 'secs']] = df['gameClock'].str.split(':', expand=True).astype(int)
# 计算剩余秒数
df['remaining_secs'] = 900 - (df['mins'] * 60 + df['secs'])

方法二:用时间差工具转换

借助Pandas的时间转换工具,将字符串转为时间差类型后提取总秒数:

# 转换为时间差类型并提取已用总秒数
df['elapsed_secs'] = pd.to_timedelta(df['gameClock']).dt.total_seconds()
# 计算剩余秒数并转为整数
df['remaining_secs'] = 900 - df['elapsed_secs'].astype(int)

异常值处理提示

如果gameClock列存在空值或非XX:XX格式的异常数据,会导致转换失败,可先过滤有效数据:

# 仅保留符合分钟:秒格式的行
df = df[df['gameClock'].str.match(r'^\d+:\d{2}$')]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 10:05:55