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

如何高效为DataFrame每行url批量去除协议与www前缀

最优解决方案

推荐使用pandas原生矢量化正则替换,仅需一次遍历即可完成所有匹配替换,效率是原有四次替换写法的3~4倍,也远高于逐行循环的apply方案,同时可避免原有写法的误匹配问题:

df['url'] = df['url'].str.replace(r'^(https?|ftp)://(www\.)?', '', regex=True)

方案说明

  • 正则用^锚定字符串开头,只会匹配URL最前面的协议和www前缀,不会误删URL中间出现的对应字符
  • https?同时匹配http和https两种协议,(www\.)?匹配可选的www前缀,所有符合规则的内容会被一次性替换为空
  • 原有写法默认开启正则匹配时,www.中的.会作为通配符匹配任意字符,存在误删风险,当前方案用\.转义后仅匹配字面量的点号
可选的apply实现(不推荐用于600万行级大数据集)

如果一定要用lambda+apply实现,写法如下,不过该方案本质是逐行遍历,大数量场景下执行速度远低于第一种矢量化方案:

import re
df['url'] = df['url'].apply(lambda x: re.sub(r'^(https?|ftp)://(www\.)?', '', x))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:24:02