当证明它在 Python 中时,条件不 return 为真

Conditional doesn´t return True when it is proved that it is in Python

我正在尝试查找 DataFrame 列中是否存在整数值:

当我尝试 df[df['COLUMN'] == 196930] 时,我得到了包含预期列值的 DataFrame 行。

但是,我 运行 在尝试使用条件来查找值是否为列(并最终根据此条件执行操作)时遇到问题:

if 196930 in df['COLUMN']:
    ...
    ...
    ...

它 returns False 尽管这个整数显然存在于 DataFrame 列中,但我不明白为什么会这样。提前谢谢你。

df['COLUMN'] returns 一个 pandas 系列。对于 in 运算符,如果存在与操作数匹配的 label,则系列 class returns 为真。当您编写 if 196930 in df['COLUMN'] 时,您正在测试系列是否包含标签 196930.

您可以像这样测试列是否包含

if (df['COLUMN'] == 196930).any(): ...

if df['COLUMN'].eq(196930).any(): ...