[数据挖掘] Pandas 在筛选特定列时报错 Cannot mask with non-boolean array containing NA / NaN v

285 阅读1分钟

一、问题描述

在一个 DataFrame 中筛选有特定值的行数据时,使用如下语句:

data[data['industry'].str.contains('银行')]

报错

ValueError: Cannot mask with non-boolean array containing NA / NaN values

二、分析及解决方案

这是由于industry数据列中存在非字符型值,解决方案是在 contains() 中加一个实参na

data[data['industry'].str.contains('银行',na=False)]

成功筛选出数据 image.png