Pandas: so wählen sie spalten aus, die eine bestimmte zeichenfolge enthalten


Sie können die folgenden Methoden verwenden, um Spalten auszuwählen, die eine bestimmte Zeichenfolge in einem Pandas-DataFrame enthalten:

Methode 1: Wählen Sie Spalten aus, die eine bestimmte Zeichenfolge enthalten

 df. filter (regex=' string1 ')

Methode 2: Wählen Sie Spalten aus, die eine von mehreren Zeichenfolgen enthalten

 df. filter (regex=' string1|string2|string3 ')

Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' mavs ': [10, 12, 14, 15, 19, 22, 27],
                   ' cavs ': [18, 22, 19, 14, 14, 11, 20],
                   ' hornets ': [5, 7, 7, 9, 12, 9, 14],
                   ' spurs ': [10, 12, 14, 13, 13, 19, 22],
                   ' net ': [10, 14, 25, 22, 25, 17, 12]})

#view DataFrame
print (df)

   mavs cavs hornets spurs nets
0 10 18 5 10 10
1 12 22 7 12 14
2 14 19 7 14 25
3 15 14 9 13 22
4 19 14 12 13 25
5 22 11 9 19 17
6 27 20 14 22 12

Beispiel 1: Wählen Sie Spalten aus, die eine bestimmte Zeichenfolge enthalten

Der folgende Code zeigt, wie Sie mit der Funktion filter() nur Spalten auswählen, deren Namen irgendwo die Zeichenfolge „avs“ enthalten:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs ')

#view DataFrame
print (df2)

   mavs cavs
0 10 18
1 12 22
2 14 19
3 15 14
4 19 14
5 22 11
6 27 20

Es werden nur Spalten mit „avs“ im Namen zurückgegeben.

In diesem Fall sind „mavs“ und „cavs“ die einzigen zurückgegebenen Spalten.

Beispiel 2: Wählen Sie Spalten aus, die eine von mehreren Zeichenfolgen enthalten

Der folgende Code zeigt, wie Sie mit der Funktion filter() nur Spalten auswählen, deren Namen irgendwo „avs“ oder „ets“ enthalten:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs|ets ')

#view DataFrame
print (df2)

   mavs cavs hornets nets
0 10 18 5 10
1 12 22 7 14
2 14 19 7 25
3 15 14 9 22
4 19 14 12 25
5 22 11 9 17
6 27 20 14 12

Es werden nur Spalten mit „avs“ oder „ets“ im Namen zurückgegeben.

Beachten Sie, dass der vertikale Balken ( | ) in Pandas der „ ODER “-Operator ist.

Sie können beliebig viele dieser „ODER“-Operatoren verketten, um Spalten auszuwählen, die eine von vielen verschiedenen Zeichenfolgen enthalten.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:

Pandas: So verschieben Sie eine Spalte vor den DataFrame
Pandas: So überprüfen Sie, ob die Spalte eine Zeichenfolge enthält
Pandas: So fügen Sie DataFrame eine leere Spalte hinzu (3 Beispiele)

Einen Kommentar hinzufügen

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