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()
方法。