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

如何在Pandas中将Color列的Blue/Pink/Green替换为对应数字?

解决Pandas中Color列值替换的问题

你可以通过以下两种方法实现Color列的数值映射,rename方法不适用是因为它的作用是修改行/列标签,而非替换列内的具体值:

方法1:使用replace()方法(推荐)

replace()可以直接通过字典完成批量值替换,且会保留原列中不在映射字典里的值(如果有的话):

import pandas as pd
archive = pd.read_excel('arc.xlsx', engine='openpyxl')

# 定义颜色到数值的映射
color_map = {'Blue': 0, 'Pink': 1, 'Green': 2}
# 执行替换
archive['Color'] = archive['Color'].replace(color_map)

# 查看结果
archive.head(20)

方法2:使用map()方法

map()会严格按照字典映射替换,若列中存在不在字典里的值,会被转为NaN,适合确定只有三种目标颜色的场景:

color_map = {'Blue': 0, 'Pink': 1, 'Green': 2}
archive['Color'] = archive['Color'].map(color_map)

# 若需保留未匹配的原始值,可添加fillna:
# archive['Color'] = archive['Color'].map(color_map).fillna(archive['Color'])

验证替换结果

执行替换后,可以通过以下代码确认替换是否成功:

# 查看Color列的唯一值
print(archive['Color'].unique())
# 查看前几行数据
print(archive.head())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:45:40