首页 > 解决方案 > 以 PEP8 方式检查 pandas 重复项

问题描述

我能想到的在 pandas 数据框中检查重复项的最简单方法如下:

if (df["col1"].value_counts() > 1).sum() > 0:
    raise ValueError("dupes in column 'col1'!")

问题是这不符合 PEP8。我的 IDE(我使用 PyCharm)中的代码检查器告诉我:

类“bool”的未解析属性引用“sum”

在不添加多行代码的情况下,检查 pandas 重复项的可接受方法是什么?

标签: pythonpandaspycharmpep8

解决方案


您的错误与 PEP8 无关。实际上,您的错误似乎是误报:您的 IDE 似乎在猜测比较操作的结果是布尔值,因此没有sumorany方法。

但是你的语法没有错:df["col1"].value_counts() > 1返回一个布尔pd.Series对象,它确实有sumany方法。

我可以建议的唯一解决方案是使用另一个 IDE。或禁用您的代码检查器。


推荐阅读