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で一部を除くすべての列を削除する方法

コメントを追加する

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