📜  数据框查找 nan 行 - Python (1)

📅  最后修改于: 2023-12-03 15:39:59.844000             🧑  作者: Mango

数据框查找nan行 - Python

在数据分析工作中,我们经常会碰到需要查找数据框中 NaN 值的情况。NaN(Not a Number)是numpy和pandas库中用来表示缺失值的值。在这篇文章中,我们将介绍如何在 Python 中查找数据框中的 NaN 行。

1. 准备数据

我们先创建一个包含 NaN 值的数据框。

import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan, 4], 'B': [5, np.nan, 7, 8], 'C': [9, 10, 11, 12]})
print(df)

输出结果:

     A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
2  NaN  7.0  11
3  4.0  8.0  12

现在我们有一个包含 NaN 值的数据框了。

2. 查找NaN行

我们可以使用 DataFrame 的 isnull() 函数和 any() 函数来查找包含 NaN 值的行。

nan_rows = df[df.isnull().any(axis=1)]
print(nan_rows)

输出结果:

     A    B   C
1  2.0  NaN  10
2  NaN  7.0  11

这里我们使用了 any() 函数来检查每一行是否包含 NaN 值。axis=1 参数表示检查的是行而非列。

我们还可以使用 isna() 函数来检查每个元素是否为 NaN,然后用 sum() 函数统计每行中 NaN 值的个数。如果某一行中的 NaN 值个数等于列数,则说明该行为 NaN 行。

nan_rows = df[df.isna().sum(axis=1) == len(df.columns)]
print(nan_rows)

输出结果:

Empty DataFrame
Columns: [A, B, C]
Index: []

我们可以看到,这个数据框中没有所有元素都为 NaN 的行。

3. 总结

在本文中,我们介绍了如何在 Python 中查找数据框中的 NaN 行。我们使用了 isnull() 函数、any() 函数和 isna() 函数等 pandas 函数。希望对你有所帮助!