web-dev-qa-db-fra.com

Suppression de plusieurs colonnes d'une trame de données à l'aide de Python

Je sais comment supprimer des colonnes d'un bloc de données en utilisant Python. Mais pour mon problème, l'ensemble de données est vaste, les colonnes que je souhaite supprimer sont regroupées ou fondamentalement réparties sur l'axe de l'en-tête de colonne. Existe-t-il un moyen plus court de couper ou de supprimer toutes les colonnes avec moins de lignes de code plutôt que de l'écrire comme je l'ai fait. La façon dont je l'ai fait ici fonctionne, mais j'aimerais une manière plus résumée.

Le flight_data_copy_final est la variable dans laquelle il doit être stocké.

Voici mon code:

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

Pour supprimer plusieurs colonnes en même temps dans pandas, vous pouvez spécifier les noms des colonnes comme indiqué ci-dessous. L'option inplace=True est nécessaire si l'on veut que la colonne affectée par le changement soit dans la même trame de données. Sinon, retirez-le.

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

Source: Python Pandas - Suppression de plusieurs séries d'un bloc de données en une seule commande

21
Prasanth Regupathy