Pandas で nan 値を含む行を選択する方法 (例あり)
次のメソッドを使用して、パンダで NaN 値を含む行を選択できます。
方法 1: 任意の列に NaN 値を含む行を選択する
df. loc [df. isnull (). any (axis= 1 )]
方法 2: 特定の列で NaN 値を含む行を選択する
df. loc [df[' this_column ']. isnull ()]
次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, np.NaN, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, np.NaN, 9, 9, np.NaN], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, np.NaN]}) #view DataFrame print (df)
例 1: 任意の列に NaN 値を含む行を選択する
次の構文を使用して、DataFrame の任意の列で NaN 値を含む行を選択できます。
#create new DataFrame that only contains rows with NaNs in any column df_nan_rows = df. loc [df. isnull (). any (axis= 1 )] #view results print (df_nan_rows) team points assists rebounds 1 B NaN 7.0 8.0 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
結果として得られる DataFrame の各行には、少なくとも 1 つの列に NaN 値が含まれることに注意してください。
例 2: 特定の列に NaN 値を含む行を選択する
次の構文を使用して、DataFrame のヘルパー列内の NaN 値を含む行を選択できます。
#create new DataFrame that only contains rows with NaNs in assists column df_assists_nans = df. loc [df[' assists ']. isnull ()] #view results print (df_assists_nans) team points assists rebounds 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
結果として得られる DataFrame の各行には、ヘルパー列に NaN 値が含まれることに注意してください。
ポイント列に NaN 値を持つ行がありますが、アシスト列にも NaN 値がないため、この行は選択されません。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandas: NaN 値を含む行を削除する方法
Pandas: NaN 値を文字列に置き換える方法
パンダ: NaN 値を平均値で埋める方法