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

在Pandas DataFrame中替换URL内UTM参数的占位符

Pandas替换UTM链接占位符为对应列值

核心思路

先明确UTM模板中占位符与DataFrame列的对应关系,再逐行将占位符替换为对应列的数值。

步骤实现

  1. 定义示例数据结构
    假设你的DataFrame包含CampaignId、AdGroupId、Keyword、Keyword ID列,以及带占位符的UTM模板列:
import pandas as pd

data = {
    "CampaignId": [31757442, 31757443],
    "AdGroupId": [3745473327, 3745473328],
    "Keyword": ["CRM", "ERP"],
    "Keyword ID": [38372916231, 38372916232],
    "UTM_Template": ["utm_content=keys_{gbid}|cid|{campaign_id}|aid|{keyword}|{phrase_id}|src&utm_term={keyword}"] * 2
}

df = pd.DataFrame(data)
  1. 映射占位符与列名
    创建字典,将占位符名称(去掉花括号)对应到DataFrame的列名:
placeholder_map = {
    "gbid": "AdGroupId",
    "campaign_id": "CampaignId",
    "keyword": "Keyword",
    "phrase_id": "Keyword ID"
}
  1. 编写替换函数并生成结果
    利用apply逐行处理,通过字符串格式化替换占位符:
def replace_utm(row):
    # 构造格式化参数,将列值转为字符串
    format_params = {key: str(row[col]) for key, col in placeholder_map.items()}
    # 替换模板中的占位符
    return row["UTM_Template"].format(**format_params)

# 生成最终的UTM链接列
df["Final_UTM"] = df.apply(replace_utm, axis=1)

最终效果

运行后df["Final_UTM"]列的结果如下:

  • 第一行:utm_content=keys_3745473327|cid|31757442|aid|CRM|38372916231|src&utm_term=CRM
  • 第二行:utm_content=keys_3745473328|cid|31757443|aid|ERP|38372916232|src&utm_term=ERP

注意事项

  • 确保占位符名称与placeholder_map中的键完全匹配,否则无法替换
  • 数字类型的列值需转为字符串,避免格式化时出现类型错误
  • 若所有行的UTM模板相同,可将模板定义为单独变量,无需存入DataFrame列,提升处理效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:21:08