パンダ: 列が存在する場合に列を削除する方法


次の基本構文を使用して、pandas DataFrame に 1 つ以上の列が存在する場合はそれらを削除できます。

 df = df. drop ([' column1 ', ' column2 '], axis= 1 , errors=' ignore ')

注: error=’ignore’引数を使用しない場合、存在しない列を削除しようとするとエラーが発生します。

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas に列が存在する場合は削除します。

さまざまなバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' points ': [18, 22, 19, 14, 14, 11],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' minutes ': [10.1, 12.0, 9.0, 8.0, 8.4, 7.5],
                   ' all_star ': [True, False, False, True, True, True]})

#view DataFrame
print (df)

  team points assists minutes all_star
0 A 18 5 10.1 True
1 B 22 7 12.0 False
2 C 19 7 9.0 False
3 D 14 9 8.0 True
4 E 14 12 8.4 True
5 F 11 9 7.5 True

ここで、 minutes_playedおよびPointsという名前の列を削除しようとするとします。

 #drop minutes_played and points columns
df = df. drop ([' minutes_played ', ' points '], axis= 1 )

KeyError: "['minutes_played', 'points'] not found in axis"

minutes_played列がデータフレームに列名として存在しないため、エラーが発生します。

代わりに、 errors=’ignore’引数を指定してDrop()関数を使用する必要があります。

 #drop minutes_played and points columns
df = df. drop ([' minutes_played ', ' points '], axis= 1 , errors=' ignore ')

#view updated DataFrame
print (df)

  team assists minutes all_star
0 A 5 10.1 True
1 B 7 12.0 False
2 C 7 9.0 False
3 D 9 8.0 True
4 E 12 8.4 True
5 F 9 7.5 True

ポイント列が DataFrame から削除されていることに注意してください。

また、存在しないminutes_playedという列を削除しようとしても、エラーが発生しないことにも注意してください。

追加リソース

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

パンダ: 名前のない列を削除する方法
パンダ: 特定の列を除くすべての列を削除する方法
パンダ:一部の行を除いてすべての行を削除する方法

コメントを追加する

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