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

Python如何提取DataFrame内存储的URL片段中的数字运动员ID

解决方案

直接使用Pandas内置的str.extract方法配合正则表达式提取,无需手动遍历循环,效率更高、逻辑更稳定:

# 直接提取ID存入新列athleteID,提取结果为字符串格式
df2['athleteID'] = df2['athleteURL'].str.extract(r'athleteNumber=(\d+)')

# 如果需要转换为整数格式,可添加astype转换
df2['athleteID'] = df2['athleteURL'].str.extract(r'athleteNumber=(\d+)').astype(int)

# 如果需要单独提取为列表使用
athlete_id_list = df2['athleteID'].tolist()

方案说明

  • 正则表达式r'athleteNumber=(\d+)'中,\d+匹配连续的数字,括号标记的分组会被str.extract直接捕获返回
  • 该方法是Pandas的向量化操作,底层由C实现,数据量越大相比手动Python循环的效率优势越明显
  • 适配性更强,不受HTML片段其他属性变化、URL参数顺序变化的影响,只要athleteNumber参数存在就能正确提取到对应数字

原方法存在的问题

  1. 手动遍历循环效率低,数据量过大会有明显的性能瓶颈
  2. 固定取索引位置的逻辑非常脆弱,只要URL结构、参数、HTML属性有一点变化,就会出现取错值的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:15:08