【发布时间】:2019-09-04 15:16:12
【问题描述】:
我有一个名为df 的DataFrame,其中有一列col,其中包含值True、False 和"N/A"(类型分别为bool、bool 和str)。我只想选择包含True 的行。
df[df.col==True] 有效,但会生成警告 PEP 8: comparison to True should be 'if cond is True:' or 'if cond:'。
是否有符合 PEP8 的方法来执行此操作?
【问题讨论】:
-
你的熊猫版本是什么?因为在 pandas 0.24.2 中没有错误
-
用
df = pd.DataFrame({'col':[True, False, 'N/A']})测试 -
is没有被 Pandas 重载,因此在这种情况下它不是一个选项...... -
在这种情况下,如果你需要一个重载的
__eq__,是的,你有时可以反对 PEP8。了解如何在您的 lint 工具中禁用此特定警告(# noqa通常可以解决问题)。