Seite 1 von 1

aus df spezielle Spalten löschen

Verfasst: Dienstag 18. Mai 2021, 19:10
von torsten_156
Hallo,

ich habe ein DataFrame mit 60 Spalten. Zehn Spalten haben absolut unterschiedliche Bezeichnungen. 50 Spalten haben diese Bezeichnung hier:
EINFELD01, EINFELD02, EINFELD03,...., EINFELD50

Und genau diese Spalten möchte ich nun löschen. Ich würde gern so etwas wie ein wildcard nutzen:

Code: Alles auswählen

df.drop('EINFELD*', axis=1)
Aber das geht so leider nicht. Wie stelle ich das am besten an?

VG
Torsten

Re: aus df spezielle Spalten löschen

Verfasst: Dienstag 18. Mai 2021, 19:30
von ThomasL
eventuell so

Code: Alles auswählen

columns = [f'EINFELD{x:02}' for x in range(1, 51)]
df = df.drop(columns, axis=1)

Re: aus df spezielle Spalten löschen

Verfasst: Dienstag 18. Mai 2021, 19:31
von __blackjack__
@torsten_156: Die Methode will eine Liste mit den Labelnamen haben. Die musst Du halt erstellen. Die stecken in `df.columns` und lassen sich da auch simpel mit einer „list comprehension“ rausfiltern. Ungetestet:

Code: Alles auswählen

df = df.drop(columns=[label for label in df.columns if label.startswith("EINFELD")])