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

Pandas如何检查列名列表中哪些列不存在于DataFrame中

错误原因
  • 你使用的l not in df.columns写法是将整个列表l作为单个元素,判断是否存在于df.columns的列名集合中,in运算符不支持传入列表作为待判断的单个元素,因此触发TypeError: unhashable type: 'list'报错。
正确实现方法

方法1:列表推导式(保留列名在原列表l中的顺序)

直接遍历列表l的每一个列名,逐一判断是否不在df的列中:

missing_cols = [col for col in l if col not in df.columns]
print(missing_cols)

运行后输出和你预期一致:

['Col_C', 'Col_E', 'Col_F']

方法2:集合差集运算(适合列数量大的场景,运算速度更快)

利用集合的差集特性直接取不在df列中的元素,注意该方法输出结果不保留原列表l的顺序:

missing_cols = list(set(l).difference(df.columns))
# 或者简写为 list(set(l) - set(df.columns))
print(missing_cols)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:06:09