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

如何在R语言中基于DataFrame的颜色编码值分配颜色名称?

如何为DataFrame的颜色编码匹配对应颜色名称?

问题场景

现有包含color code列的DataFrame,数据如下:

| color code |
| 1          |
| 3          |
| 3          |
| 5          |
| 2          |

颜色编码与名称的映射规则:1=Yellow、2=White、3=Black、4=Blue、5=Brown。需要新增color name列,将编码转换为对应名称(注:你提供的示例结果中第3行3对应White应为笔误,正确结果应为Black)。

解决方案(基于Python pandas)

方法1:使用map()函数

通过定义映射字典,调用map方法完成编码到名称的转换:

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame({'color code': [1, 3, 3, 5, 2]})

# 定义颜色映射字典
color_mapping = {1: 'Yellow', 2: 'White', 3: 'Black', 4: 'Blue', 5: 'Brown'}

# 新增color name列
df['color name'] = df['color code'].map(color_mapping)

print(df)

执行输出:

color code color name
0           1      Yellow
1           3       Black
2           3       Black
3           5       Brown
4           2       White

方法2:使用replace()函数

replace支持批量替换,同样能实现需求:

import pandas as pd

df = pd.DataFrame({'color code': [1, 3, 3, 5, 2]})
color_mapping = {1: 'Yellow', 2: 'White', 3: 'Black', 4: 'Blue', 5: 'Brown'}

# 复制原列并替换编码为名称
df['color name'] = df['color code'].replace(color_mapping)

print(df)

输出结果与方法1完全一致。

补充说明

  • 若DataFrame中存在映射字典未覆盖的编码,map()会返回NaN,replace()会保留原编码值,可根据实际需求选择方法。
  • 两种方法处理大规模数据时效率相近,均为稳定可行的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 17:02:25