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

如何将Pandas列值替换为连续递增数值 适配大规模数据集

需求说明

现有如下测试数据集:

import pandas as pd
data = {'Account':['Paul','Jenn']}
df = pd.DataFrame(data=data)

需要实现规则:将Account列中的Paul替换为数值1,Jenn替换为数值2。要求实现逻辑基于for循环编写,可直接适配规模更大的数据集,完成账户名称到对应数值的批量替换。

实现代码

核心思路是先把账户名和替换值的对应关系抽成独立的映射字典,再通过循环遍历映射规则完成批量替换,后续新增替换规则只需要修改字典即可,不需要调整循环逻辑,适配大规模数据集场景:

# 维护账户名-目标数值的映射,新增替换规则直接追加字典键值对即可
account_mapping = {
    "Paul": 1,
    "Jenn": 2
}

# 初始化存储替换结果的列,如需覆盖原列可直接操作df['Account']
df["account_code"] = 0

# for循环遍历映射规则完成批量替换
for name, code in account_mapping.items():
    df.loc[df["Account"] == name, "account_code"] = code
实现效果

执行代码后输出的DataFrame如下:

Accountaccount_code
Paul1
Jenn2
  • 该方案逻辑和配置解耦,哪怕后续需要替换上百个不同的账户值,只需要往account_mapping里追加对应键值对即可
  • 赋值逻辑基于pandas原生的loc定位实现,在十万、百万级的大数据集上运行也能保持较好的性能
  • 匹配逻辑精准,不会出现错配、漏配的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 21:45:33