web-dev-qa-db-ja.com

Pythonを使用してデータフレームから複数の列をドロップする

Pythonを使用してデータフレームから列を削除する方法を知っています。しかし、私の問題では、データセットが膨大であり、ドロップする列がグループ化されているか、基本的に列見出し軸全体に散らばっています。私がやったように書き出すのではなく、より少ないコード行ですべての列をスライスまたはドロップする短い方法がありますか?ここで行った方法は機能しますが、より要約された方法が必要です。

Flight_data_copy_finalは、格納する変数です。

私のコードは次のとおりです。

from IPython.display import display

flight_data_copy_version1 = flight_data_copy.drop(flight_data_copy.ix[:,"Year": "FlightDate"].columns, axis=1)
flight_data_copy_version2 = flight_data_copy_version1.drop("TailNum", axis=1)
flight_data_copy_version3 = flight_data_copy_version2.drop("OriginStateFips", axis=1)
flight_data_copy_version4 = flight_data_copy_version3.drop("DestStateFips", axis=1)
flight_data_copy_version5 = flight_data_copy_version4.drop("Diverted", axis=1)
flight_data_copy_version6 = flight_data_copy_version5.drop("Flights", axis=1)
flight_data_copy_final = flight_data_copy.drop(flight_data_copy_version6.ix[:,"FirstDepTime":].columns, axis=1)

print (display (flight_data_copy_final))
7
Deepak M

パンダで複数の列を同時に削除するには、以下に示すように列名を指定できます。オプション inplace=Trueは、同じデータフレーム内の変更の影響を受ける列が必要な場合に必要です。それ以外の場合は削除します。

flight_data_copy.drop(['TailNum', 'OriginStateFips', 
                'DestStateFips', 'Diverted'], axis=1, inplace=True)

ソース: Python Pandas-1つのコマンドでデータフレームから複数のシリーズを削除する

21