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

Pandas保留列名不在另一数据框的列时出现KeyError:False问题

问题解决:筛选不在指定数据框中的列

错误原因

  • 你把布尔值和字符串 "False" 做比较:isin() 返回的是布尔类型数组(元素是 True/False),不是字符串,用 == "False" 会得到全为 False 的数组。
  • 直接用这个全 False 的数组索引数据框时,Python会把它当成列名去查找,而你的数据框里没有名为 False 的列,因此触发 KeyError。

正确代码写法

两种可行的写法:

  1. 用 ~ 符号取反(更简洁的写法)
mrna_NONCIMP_df = all_kirpII_rna.loc[:, ~all_kirpII_rna.columns.isin(mrna_cimp.columns)]
  1. 用 != True 明确取反
mrna_NONCIMP_df = all_kirpII_rna.loc[:, all_kirpII_rna.columns.isin(mrna_cimp.columns) != True]

使用 .loc[:, 布尔数组] 是为了明确指定选择所有行和符合条件的列,避免索引逻辑出现歧义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:40:35