【问题标题】:Conditional doesn´t return True when it is proved that it is in Python当证明它在 Python 中时,Conditional 不会返回 True
【发布时间】:2021-05-16 12:52:05
【问题描述】:

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

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

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

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

它返回False,即使这个整数明显存在于 DataFrame 列中,我不明白为什么会这样。提前谢谢你。

【问题讨论】:

    标签: python pandas dataframe if-statement integer


    【解决方案1】:

    df['COLUMN'] 返回一个熊猫系列。对于in 运算符,如果存在与操作数匹配的标签,则Series 类返回true。当您写 if 196930 in df['COLUMN'] 时,您正在测试 Series 是否包含标签 196930。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-26
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 2012-07-07
      相关资源
      最近更新 更多