如何基于列表替换Pandas中item_id列的整数值为对应名称
解决方案
步骤1:将列表转换为映射字典
先把给定的列表转换成以item_id数值为键、对应名称为值的字典,方便后续匹配替换:
# 原始映射列表 item_map_list = [['Lost Summoner Kitty', 70], ['Ironbound', 4000]] # 转换为适配替换的字典(调换列表内元素顺序) item_dict = {id_val: name for name, id_val in item_map_list}
步骤2:替换DataFrame的item_id列
以下两种通用方法都能实现需求,可根据场景选择:
方法一:使用map()方法
逐个匹配item_id的值并替换为对应名称,未匹配到的值会转为NaN:
import pandas as pd # 假设你的DataFrame名为df df['item_id'] = df['item_id'].map(item_dict)
方法二:使用replace()方法
同样完成替换,且默认保留未匹配到的原始值:
df['item_id'] = df['item_id'].replace(item_dict)
注意事项
- 若DataFrame中存在映射列表以外的item_id值,
map()会将其转为NaN,replace()则保留原始值,可根据实际需求选择。 - 该方法对任意规模的映射列表都适用,字典的查找效率能保证替换速度。
内容的提问来源于stack exchange,提问作者Julio
相关产品推荐
相关产品推荐

