Python DataFrame 非 NaN 行

在数据分析和处理过程中,经常会遇到需要筛选出 DataFrame 中非 NaN 值行的情况。本文将介绍如何在 Python 中操作 DataFrame,筛选出非 NaN 值行的方法。
创建 DataFrame 示例
首先,我们需要创建一个示例的 DataFrame。以下是一个包含 NaN 值的 DataFrame:
import pandas as pd
import numpy as np
data = {'A': [1, np.nan, 3, 4, 5],
        'B': ['deepinout.com', 'b', np.nan, 'd', 'e'],
        'C': [np.nan, 'f', 'g', np.nan, 'i']}
df = pd.DataFrame(data)
print(df)
运行结果如下:
     A             B    C
0  1.0  deepinout.com  NaN
1  NaN             b    f
2  3.0            NaN    g
3  4.0             d  NaN
4  5.0             e    i
筛选出非 NaN 值行
接下来,我们将介绍如何筛选出 DataFrame 中的非 NaN 值行。我们可以使用 notnull() 方法来判断各列是否为非 NaN 值,然后通过逻辑运算符 all() 来筛选出非 NaN 值行,示例如下:
df_non_nan = df[df.notnull().all(axis=1)]
print(df_non_nan)
运行结果如下:
     A             B    C
4  5.0             e    i
通过上述代码,我们成功筛选出了非 NaN 值行,并将结果打印出来。
另一种筛选方法
除了上述方法外,还可以使用 dropna() 方法来直接删除含有 NaN 值的行,并在参数中指定 how='any' 来删除含有任意 NaN 值的行,示例如下:
df_non_nan_2 = df.dropna(how='any')
print(df_non_nan_2)
运行结果如下:
     A  B  C
4  5.0  e  i
通过上述代码,我们同样成功筛选出了非 NaN 值行,并将结果打印出来。
总结
本文介绍了如何在 Python 中操作 DataFrame,筛选出非 NaN 值行的方法,包括使用 notnull() 方法和 dropna() 方法。
极客笔记