.str.contains报错ValueError: Cannot mask with non-boolean array containing NA / NaN values
时间: 2024-02-01 11:15:11 浏览: 192
Python 3.x 新特性及10大变化
这个错误通常表示您的数据中包含缺失值(NaN或NA),而在进行逻辑判断时,缺失值无法进行比较,因此会报错。您可以尝试使用 `pd.Series.fillna()` 方法将缺失值填充为 False 或 True,或者使用 `pd.Series.dropna()` 方法删除包含缺失值的行。例如:
```python
import pandas as pd
# 创建包含缺失值的 Series
s = pd.Series(['foo', np.nan, 'bar', 'baz'])
# 报错的代码
s.str.contains('foo|bar')
# 填充缺失值为 False
s.fillna(False).str.contains('foo|bar')
# 删除包含缺失值的行
s.dropna().str.contains('foo|bar')
```
请根据您的具体情况选择合适的方法。
阅读全文