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

如何使用Pandas将DataFrame列表列的值按字典映射替换?

解决思路与方案

先分析你两种方法的问题:

  1. method1:遍历的是df['Feedback']的每个完整列表,字典中没有列表作为键的映射,所以直接返回原列表,根本没做元素替换。
  2. method2:逻辑本身是对的,但致命问题是列名拼写不一致——你的DataFrame列名是Feeback(少了一个d),但代码里写的是Feedback,导致找不到列执行失败。

修正后的可行方案:

方案1:修正列名的method2

直接把代码中的列名和DataFrame保持一致,同时可以去掉多余的list(x)(因为x本身就是列表):

df['Feeback'] = df['Feeback'].apply(lambda x: [feedback_dict.get(item, item) for item in x])

方案2:嵌套列表推导式

直接遍历列中的每个列表,再遍历列表内的元素做替换:

df['Feeback'] = [[feedback_dict.get(item, item) for item in lst] for lst in df['Feeback']]

执行任意一种方案后,就能得到你想要的结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:05:21