Pandas: spalten entfernen, wenn der name eine bestimmte zeichenfolge enthält
Sie können die folgenden Methoden verwenden, um Spalten aus einem Pandas-DataFrame zu entfernen, dessen Name bestimmte Zeichenfolgen enthält:
Methode 1: Spalten entfernen, wenn der Name eine bestimmte Zeichenfolge enthält
df. drop (list(df. filter (regex=' this_string ')), axis= 1 , inplace= True )
Methode 2: Spalten entfernen, wenn der Name eine von mehreren spezifischen Zeichenfolgen enthält
df. drop (list(df. filter (regex=' string1|string2|string3 ')), axis= 1 , inplace= True )
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team_name ': ['A', 'B', 'C', 'D', 'E', 'F'], ' team_location ': ['AU', 'AU', 'EU', 'EU', 'AU', 'EU'], ' player_name ': ['Andy', 'Bob', 'Chad', 'Dan', 'Ed', 'Fran'], ' points ': [22, 29, 35, 30, 18, 12]}) #view DataFrame print (df) team_name team_location player_name points 0 A AU Andy 22 1 B AU Bob 29 2 C EU Chad 35 3 D EU Dan 30 4 E TO Ed 18 5 F EU Fran 12
Beispiel 1: Spalten entfernen, wenn der Name eine bestimmte Zeichenfolge enthält
Wir können die folgende Syntax verwenden, um alle Spalten aus dem DataFrame zu entfernen, die „team“ an einer beliebigen Stelle im Spaltennamen enthalten:
#drop columns whose name contains 'team' df. drop (list(df. filter (regex=' team ')), axis= 1 , inplace= True ) #view updated DataFrame print (df) player_name points 0 Andy 22 1 Bob 29 2 Chad 35 3 Dan 30 4 Ed 18 5 Fran 12
Beachten Sie, dass die beiden Spalten, die „team“ im Namen enthalten, aus dem DataFrame entfernt wurden.
Beispiel 2: Spalten entfernen, wenn der Name eine von mehreren spezifischen Zeichenfolgen enthält
Wir können die folgende Syntax verwenden, um alle Spalten aus dem DataFrame zu entfernen, die „player“ oder „points“ an einer beliebigen Stelle im Spaltennamen enthalten:
#drop columns whose name contains 'player' or 'points' df. drop (list(df. filter (regex=' player|points ')), axis= 1 , inplace= True ) #view updated DataFrame print (df) team_name team_location 0 A AU 1 B AU 2 C EU 3D EU 4 E AU 5 F EU
Beachten Sie, dass die beiden Spalten, die „Spieler“ oder „Punkte“ im Namen enthalten, aus dem DataFrame entfernt wurden.
Hinweis : Die | Das Symbol in Pandas wird als „ODER“-Operator verwendet.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
So entfernen Sie die erste Spalte in Pandas
So entfernen Sie doppelte Spalten in Pandas
So löschen Sie alle Spalten außer einigen in Pandas