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 値を平均値で埋める方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です