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

使用Pandas检查指定列重复记录时触发KeyError的问题

DataFrame检查A、B列重复记录的KeyError解决方法

错误根源

触发KeyError: Index(['['A','B']'], dtype='object')的核心原因:

  • 第三种写法subset=[column_list]属于冗余嵌套,把列名列表又套了一层列表,导致pandas将['A','B']识别为单个列名,自然匹配不到现有列。
  • 若前两种写法也报错,大概率是实际代码中column_list被错误定义为字符串类型(比如column_list="['A','B']"),而非列名组成的列表。

正确实现代码

确保column_list是列名字符串的列表,使用以下两种写法之一即可:

column_list=['A','B']

# 写法1:直接传入列名列表
output_df = df[df.duplicated(column_list)]

# 写法2:显式指定subset参数(更清晰)
output_df = df[df.duplicated(subset=column_list)]

扩展用法

如果需要标记所有重复行(包括第一次出现的记录),添加keep=False参数:

output_df = df[df.duplicated(subset=column_list, keep=False)]

验证小技巧

可先确认column_list的类型是否正确:

print(type(column_list))
# 正常输出应为 <class 'list'>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:22:38