考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

以下哪个方法可以返回df表中所有字段缺失值的数量情况?
A. df.isnull()
B. df.isnull().sum()
C. df.notnull()
D. df.notnull().sum()
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:B: `df.isnull().sum()`

### 分析:

- **A: `df.isnull()`**
- 该方法返回一个与 `df` 大小相同的布尔型 DataFrame,其中缺失值位置为 `True`,其他位置为 `False`。虽然它能检测缺失值,但不会给出各字段缺失值的数量。

- **B: `df.isnull().sum()`**
- `df.isnull()` 生成一个布尔型 DataFrame 后,使用 `.sum()` 对列进行求和,可以得到每个字段(列)缺失值的数量。因为 `True` 在数学上相当于 1,`False` 相当于 0,所以 `.sum()` 可以计算每列中 `True` 的数量,即缺失值的数量。

- **C: `df.notnull()`**
- 返回一个布尔型 DataFrame,与 `df` 大小相同,非缺失值的位置为 `True`,缺失值为 `False`。用于检测非缺失值,但不直接提供缺失值数量。

- **D: `df.notnull().sum()`**
- 对于非缺失值布尔型 DataFrame 来求和,会得到每个字段的非缺失值的数量,无法直接反映缺失值数量。

### 示例:

假设有如下 DataFrame `df`:

```python
import pandas as pd
import numpy as np

data = {'A': [1, np.nan, 3],
'B': [4, 5, np.nan],
'C': [np.nan, np.nan, 9]}
df = pd.DataFrame(data)
```

应用 `df.isnull().sum()`:

```python
missing_values_count = df.isnull().sum()
print(missing_values_count)
```

输出:

```
A 1
B 1
C 2
dtype: int64
```

该输出表明:
- 列 `A` 有 1 个缺失值。
- 列 `B` 有 1 个缺失值。
- 列 `C` 有 2 个缺失值。

因此,选择 B 是正确的,因为它能够有效地统计每个字段的缺失值数量。