代码之家  ›  专栏  ›  技术社区  ›  Freddie Fred

获取panda where函数以忽略列中的空白值?

  •  0
  • Freddie Fred  · 技术社区  · 2 年前

    以下代码的工作方式与我预期的不同。

    dfe['Activity_2'] = np.where(dfe['ZBPCENTY'].str.contains("3324"), "Yes","no")
    

    我正在检查ZBPCENTY列中是否出现文本“3324”。如果是,我想在Activity\u 2列中打印“Yes”。如果否,打印“否”

    问题是代码在所有空白列中也打印“是”。

    所有数据均为文本格式。

    我怎样才能解决这个问题?这看起来很简单,但我不知道我做错了什么。

    0 回复  |  直到 2 年前
        1
  •  0
  •   Daniel Weigel    2 年前

    如果使用参数“na=False”尝试相同的语句,是否有效?根据文档,它将NaN值替换为False

    那就是:

    dfe['Activity_2'] = np.where(dfe['ZBPCENTY'].str.contains("3324",na=False), "Yes","no")
    
        2
  •  0
  •   Freddie Fred    2 年前

    我想出来了。我在('3324')后面添加了“==True”