📅  最后修改于: 2023-12-03 15:39:59.844000             🧑  作者: Mango
在数据分析工作中,我们经常会碰到需要查找数据框中 NaN 值的情况。NaN(Not a Number)是numpy和pandas库中用来表示缺失值的值。在这篇文章中,我们将介绍如何在 Python 中查找数据框中的 NaN 行。
我们先创建一个包含 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 值的数据框了。
我们可以使用 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 的行。
在本文中,我们介绍了如何在 Python 中查找数据框中的 NaN 行。我们使用了 isnull()
函数、any()
函数和 isna()
函数等 pandas 函数。希望对你有所帮助!