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

ValueError: Cannot mask with non-boolean array containing NA / NaN values
这是什么报错呢,网上竟然没知道想要的答案,自己摸索了1个小时,才明白。这里就是说,分组这一列里面,包含了非字符串的内容,比如数字。因为 .str.contains 的使用就要求这个字段必须是字符串,不能掺杂数字的。但是我们要筛选的Excel难免就会有夹杂数字的情况,怎么办呢,这么办。

#dfcl = dfcl.loc[dfcl['时间'].str.startswith('20')]  # 搜索项目名称中等于20开头的值
dfcl = dfcl.loc[dfcl['时间'].str.contains('20', na=False)]  # 搜索项目名称中等于20开头的值

na=False的意思就是,遇到非字符串的情况,直接忽略。你也可以写na=True,意思就是遇到非字符串的情况,计为筛选有效。

你可能感兴趣的:(python)