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

如何将pandas DataFrame嵌套列表元素按对应字典键值替换

Pandas实现嵌套列表按行字典映射替换

直接使用apply逐行处理即可,以下是完整可运行代码:

  1. 首先构造测试用DataFrame:
import pandas as pd

df_smth = pd.DataFrame({
    'Dict_Col': [{1:'a', 2:'b', 3:'c'}, {1:'a', 2:'b', 3:'c'}],
    'Perm_Col': [[[1, 2], [1, 3], [2, 3]], [[1, 1], [2, 3], [1, 3]]]
})
  1. 执行映射转换生成新列:
df_smth['New_Perm_Col'] = df_smth.apply(
    lambda row: [[row['Dict_Col'][key] for key in sub_list] for sub_list in row['Perm_Col']],
    axis=1
)

运行后New_Perm_Col就会得到你需要的结果。

注意事项

如果Perm_Col中存在Dict_Col没有的键,可以将取值逻辑改为row['Dict_Col'].get(key, 默认值),避免抛出KeyError异常,示例:

# 键不存在时用空字符串填充
df_smth['New_Perm_Col'] = df_smth.apply(
    lambda row: [[row['Dict_Col'].get(key, '') for key in sub_list] for sub_list in row['Perm_Col']],
    axis=1
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:48:03