Pandas で複数の列を削除する方法 (4 つの方法)


次のメソッドを使用して、pandas DataFrame から複数の列を削除できます。

方法 1: 複数の列を名前で削除する

 df. drop (columns=[' col1 ', ' col2 ', ' col4 '], inplace= True )

方法 2: 範囲内の列を名前で削除する

 df. drop (columns= df.loc [:, ' col1 ':' col4 '], inplace= True )

方法 3: インデックスによって複数の列を削除する

 df. drop (columns=df. columns [[0, 3, 4]], inplace= True )

方法 4: インデックスによって範囲内の列を削除する

 df. drop (columns= df.columns [1:4], inplace= True )

: inplace=True引数は、DataFrame を再割り当てせずにインプレース列を削除するようにパンダに指示します。

次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' steals ': [4, 5, 10, 12, 4, 8, 7, 2]})

#view DataFrame
print (df)

  team points assists rebounds steals
0 A 18 5 11 4
1 B 22 7 8 5
2 C 19 7 10 10
3 D 14 9 6 12
4 E 14 12 6 4
5 F 11 9 5 8
6 G 20 9 9 7
7:28 4 12 2

例 1: 複数の列を名前で削除する

次のコードは、 Pointsリバウンド、およびSteels列を名前で削除する方法を示しています。

 #drop multiple columns by name
df. drop (columns=[' points ', ' rebounds ', ' steals '], inplace= True )

#view updated Dataframe
print (df)

  team assists
0 to 5
1 B 7
2 C 7
3 D 9
4 E 12
5 F 9
6 G 9
7:04 a.m.

例 2: 範囲内の列を名前で削除する

次のコードは、ポイント間の各列をドロップし、列を名前でバウンスする方法を示しています。

 #drop columns in range by name
df. drop (columns= df.loc [:, ' points ':' rebounds '], inplace= True )

#view updated Dataframe
print (df)

  team steals
0 to 4
1 B 5
2 C 10
3 D 12
4 E 4
5 F 8
6 G 7
7 A.M. 2

例 3: インデックスによって複数の列を削除する

次のコードは、DataFrame からインデックス位置 0、3、および 4 の列を削除する方法を示しています。

 #drop multiple columns by index
df. drop (columns=df. columns [[0, 3, 4]], inplace= True )

#view updated Dataframe
print (df)

   assist points
0 18 5
1 22 7
2 19 7
3 14 9
4 14 12
5 11 9
6 20 9
7 28 4

例 4: インデックスによる範囲内の列の削除

次のコードは、DataFrame からインデックス位置 0、3、および 4 の列を削除する方法を示しています。

 #drop columns by index range
df. drop (columns= df.columns [1:4], inplace= True )

#view updated Dataframe
print (df)

  team steals
0 to 4
1 B 5
2 C 10
3 D 12
4 E 4
5 F 8
6 G 7
7 A.M. 2

df.columns[1:4]構文はインデックス位置 1 4 の列を指定することに注意してください。

したがって、この構文はインデックス位置 1、2、および 3 にある列を削除します。

: pandas drop()関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。

Pandas: NaN 値を含む列を削除する方法
パンダ: リストにない列を削除する方法
パンダ: 特定の列を除くすべての列を削除する方法

コメントを追加する

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