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

如何将F1澳大利亚大奖赛数据集中特殊格式单圈时间转换为纯秒数

字符格式圈速转秒数解决方案

最优方案是通过正则表达式批量提取分钟、秒的数值,换算后合并为总秒数,逻辑简单、性能高、适配性强,不需要依赖专门的时间解析库,不会出现时区、格式适配的异常问题。

以下是两类主流数据分析工具的便捷实现方式:

Python(Pandas)实现

适配所有「XM Y.ZZZS」格式的字符串,哪怕分钟数为多位、或部分数据不足1分钟无M字段也可兼容:

import pandas as pd

# 假设df为你的数据集,time列为原始圈速字符串列
df[['minutes', 'seconds']] = df['time'].str.extract(r'(?:(\d+)M )?(\d+\.\d+)S').astype(float)
# 无分钟字段的空值填充为0
df['minutes'] = df['minutes'].fillna(0)
df['total_seconds'] = df['minutes'] * 60 + df['seconds']

# 可按需删除临时生成的辅助列
df = df.drop(columns=['minutes', 'seconds'])

整列向量化处理,无需循环,十万行以内数据的转换耗时可以控制在毫秒级。

R(Tidyverse生态)实现

用常用的dplyr+stringr组合即可完成批量转换:

library(dplyr)
library(stringr)

df <- df %>%
  mutate(
    minutes = as.numeric(str_extract(time, "\\d+(?=M)")),
    seconds = as.numeric(str_extract(time, "\\d+\\.\\d+(?=S)")),
    # 无分钟字段的空值替换为0
    minutes = replace(minutes, is.na(minutes), 0),
    total_seconds = minutes * 60 + seconds
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:00:07