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

Python如何移除URL中https://前缀及.com后内容以合并DataFrame

Pandas 按URL作为主键合并DataFrame实现方案

核心逻辑是先对两个DataFrame的URL字段做标准化处理,去除https://前缀和.com之后的所有内容,再以标准化后的URL为键执行合并。

完整实现代码

import pandas as pd

# 构造示例数据
df1 = pd.DataFrame({
    'url': [
        'https://www.mcdonalds.com/us/en-us.html',
        'https://www.cemexusa.com/find-your-location'
    ]
})
df2 = pd.DataFrame({
    'url': [
        'https://www.mcdonalds.com',
        'www.cemexusa.com'
    ]
})

# 定义URL标准化规则:提取到.com为止的内容,自动忽略http/https前缀
url_pattern = r'^(?:https?://)?(.*?\.com)'
df1['standard_url'] = df1['url'].str.extract(url_pattern)
df2['standard_url'] = df2['url'].str.extract(url_pattern)

# 按标准化后的URL合并两个表
merged_df = pd.merge(
    df1, 
    df2, 
    on='standard_url', 
    how='inner',  # 可根据需求改为left/right/outer
    suffixes=('_df1', '_df2')
)

结果验证

处理后两个表的standard_url字段取值完全一致:

  • df1的standard_url:['www.mcdonalds.com', 'www.cemexusa.com']
  • df2的standard_url:['www.mcdonalds.com', 'www.cemexusa.com']
    可以直接作为合并主键使用。

扩展说明

如果需要适配其他域名后缀(如.cn、.org等),只需要修改正则规则即可,例如适配com和cn后缀的写法为:
url_pattern = r'^(?:https?://)?(.*?\.(?:com|cn))'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:45:03