Pandas: nan 値を含む列を削除する方法
次のメソッドを使用して、NaN 値を含む列を pandas DataFrame から削除できます。
方法 1: NaN 値を含む列を削除する
df = df. dropna (axis= 1 )
方法 2: すべて NaN 値を持つ列を削除する
df = df. dropna (axis= 1 ,how=' all ')
方法 3: NaN 値の数が最小の列を削除する
df = df. dropna (axis= 1 ,thresh= 2 )
次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'], ' position ': [np.nan, 'G', 'F', 'F', 'C', 'G'], ' points ': [11, 28, 10, 26, 6, 25], ' rebounds ': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]}) #view DataFrame print (df) team position points rebounds 0 A NaN 11 NaN 1 AG 28 NaN 2 AF 10 NaN 3 BF 26 NaN 4 BC 6 NaN 5 BG 25 NaN
例 1: NaN 値を含む列を削除する
次のコードは、NaN 値を含む列を削除する方法を示しています。
#drop columns with any NaN values df = df. dropna (axis= 1 ) #view updated DataFrame print (df) team points 0 to 11 1 to 28 2 to 10 3 B 26 4 B 6 5 B 25
位置列とリバウンド列は両方とも少なくとも 1 つの NaN 値を持っていたため、削除されたことに注意してください。
例 2: すべて NaN 値を含む列を削除する
次のコードは、すべて NaN 値を含む列を削除する方法を示しています。
#drop columns with all NaN values df = df. dropna (axis= 1 ,how=' all ') #view updated DataFrame print (df) team position points 0 A NaN 11 1 AG 28 2 AF10 3 BF 26 4 BC 6 5 BG 25
bounces列は、すべて NaN 値を含む唯一の列であるため、削除されたことに注意してください。
例 3: NaN 値の数が最小の列を削除する
次のコードは、 2 つ以上のNaN 値を含む列を削除する方法を示しています。
#drop columns with at least two NaN values df = df. dropna (axis= 1 ,thresh= 2 ) #view updated DataFrame print (df) team position points 0 A NaN 11 1 AG 28 2 AF10 3 BF 26 4 BC 6 5 BG 25
bounces列は、少なくとも 2 つの NaN 値を持つ唯一の列であるため、削除されたことに注意してください。
注: pandas のDropna()関数の完全なドキュメントは、ここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
Pandasの最初の列を削除する方法
Pandasで重複した列を削除する方法
Pandasで一部を除くすべての列を削除する方法