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

Python DataFrame批量替换账号列值或新增账号名列的实现方法

解决DataFrame账号匹配账号名的问题

核心思路

利用Pandas的关联合并或字典映射两种方式,批量完成账号到账号名的匹配,无需手动逐个替换。


步骤1:读取数据

先把主DataFrame和账号映射表都读入Pandas:

import pandas as pd

# 读取你的主数据(如果是CSV就用read_csv)
main_df = pd.read_excel('主数据文件.xlsx')

# 读取账号-账号名映射表
mapping_df = pd.read_excel('账号映射表.xlsx')

方法一:新增账号名列(保留原账号)

用merge做左关联,既能保留主数据所有行,又能匹配对应账号名:

# 根据「账号」列关联,新增「账号名」列
result_df = pd.merge(main_df, mapping_df, on='账号', how='left')
  • how='left':确保主数据里的所有行都保留,即使某个账号在映射表里找不到,对应「账号名」会显示NaN。

方法二:直接替换原账号列/映射新增列

先把映射表转成账号:账号名的字典,再用map批量映射:

# 构建账号到账号名的字典
account_name_dict = mapping_df.set_index('账号')['账号名'].to_dict()

# 新增「账号名」列
main_df['账号名'] = main_df['账号'].map(account_name_dict)

# 如果要直接替换原「账号」列,执行下面这行
# main_df['账号'] = main_df['账号'].map(account_name_dict)

补充处理:缺失值

如果主数据里有账号不在映射表中,map或merge会返回NaN,可以用fillna统一替换:

# 把未匹配到的账号名设为「未知账号」
main_df['账号名'] = main_df['账号名'].fillna('未知账号')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:35:20