当证明它在 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(): ...
我正在尝试查找 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(): ...