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

如何通过字典映射将DataFrame列中数字转换为对应字符?

字典映射DataFrame中逗号分隔字符串的实现方法

给定字典mapping_dict = {1:"A", 2:"B", 3:"C"}以及如下结构的DataFrame:

col_1col_2
1,3,2
1
2,3

要实现将col_1中逗号分隔的数字按字典映射为对应字母并保持原顺序,填充到col_2的需求,可按以下步骤操作:

实现代码

import pandas as pd

# 定义映射字典
mapping_dict = {1: "A", 2: "B", 3: "C"}

# 构造初始DataFrame
df = pd.DataFrame({
    "col_1": ["1,3,2", "1", "2,3"],
    "col_2": ["", "", ""]
})

# 定义映射处理函数
def map_values(s):
    # 拆分字符串为数字列表,映射后重新用逗号连接
    return ",".join([mapping_dict[int(num)] for num in s.split(",")])

# 应用函数到col_1,结果赋值给col_2
df["col_2"] = df["col_1"].apply(map_values)

print(df)

代码说明

  • split(","):将col_1的字符串按逗号拆分为单个数字字符串的列表
  • int(num):将字符串数字转为整数,匹配字典的键类型
  • mapping_dict[int(num)]:通过字典获取对应的字母值
  • ",".join(...):将映射后的字母列表重新拼接为逗号分隔的字符串
  • apply(map_values):对col_1的每一行数据应用自定义映射函数

执行后得到的DataFrame即为目标结果:

col_1col_2
1,3,2A,C,B
1A
2,3B,C

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:20:17