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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert