Pandas: überprüfen sie, ob die zeichenfolge mehrere teilzeichenfolgen enthält


Sie können die folgenden Methoden verwenden, um zu überprüfen, ob eine Zeichenfolge in einem Pandas-DataFrame mehrere Teilzeichenfolgen enthält:

Methode 1: Überprüfen Sie, ob die Zeichenfolge eine von mehreren Teilzeichenfolgen enthält

 df[' string_column ']. str . contains (' | ' .join ([' string1 ',' string2 ']))

Methode 2: Überprüfen Sie, ob die Zeichenfolge mehrere Teilzeichenfolgen enthält

 df[' string_column ']. str . contains ( r'^(?=.*string1)(?=.*string2)' )

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 ': ['Good East Team', 'Good West Team', 'Great East Team',
                             'Great West Team', 'Bad East Team', 'Bad West Team'],
                   ' points ': [93, 99, 105, 110, 85, 88]})

#view DataFrame
print (df)

              team points
0 Good East Team 93
1 Good West Team 99
2 Great East Team 105
3 Great West Team 110
4 Bad East Team 85
5 Bad West Team 88

Beispiel 1: Prüfen Sie, ob die Zeichenfolge eine von mehreren Teilzeichenfolgen enthält

Mit der folgenden Syntax können wir prüfen, ob jede Zeichenfolge in der Teamspalte entweder die Teilzeichenfolge „Gut“ oder „Ist“ enthält:

 #create new column that checks if each team name contains 'Good' or 'East'
df[' good_or_east '] = df[' team ']. str . contains (' | ' .join ([' Good ',' East ']))

#view updated DataFrame
print (df)

              team points good_or_east
0 Good East Team 93 True
1 Good West Team 99 True
2 Great East Team 105 True
3 Great West Team 110 False
4 Bad East Team 85 True
5 Bad West Team 88 False

Die neue Spalte „good_or_east“ gibt die folgenden Werte zurück:

  • Wahr , wenn das Team „Gut“ oder „Ist“ enthält.
  • Falsch , wenn das Team weder „Gut“ noch „Ist“ enthält.

Hinweis : Die | Der Operator bedeutet „oder“ in Pandas.

Beispiel 2 : Überprüfen Sie, ob die Zeichenfolge mehrere Teilzeichenfolgen enthält

Mit der folgenden Syntax können wir prüfen, ob jede Zeichenfolge in der Teamspalte die Teilzeichenfolgen „Good“ und „Is“ enthält:

 #create new column that checks if each team name contains 'Good' and 'East'
df[' good_and_east '] = df[' team ']. str . contains ( r'^(?=.*Good)(?=.*East)' )

#view updated DataFrame
print (df)

              team points good_and_east
0 Good East Team 93 True
1 Good West Team 99 False
2 Great East Team 105 False
3 Great West Team 110 False
4 Bad East Team 85 False
5 Bad West Team 88 False

Die neue Spalte good_and_east gibt die folgenden Werte zurück:

  • Wahr , wenn das Team „Gut“ und „Ist“ enthält.
  • Falsch , wenn das Team „Gut“ und „Ist“ nicht enthält.

Beachten Sie, dass nur ein wahrer Wert zurückgegeben wird, da es nur einen Teamnamen gibt, der die Teilzeichenfolge „Gut“ und die Teilzeichenfolge „Ost“ enthält.

Zusätzliche Ressourcen

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

Pandas: Fügen Sie eine Spalte von einem DataFrame zu einem anderen hinzu
Pandas: Zeilen abrufen, die sich nicht in einem anderen DataFrame befinden
Pandas: So überprüfen Sie, ob mehrere Spalten gleich sind

Einen Kommentar hinzufügen

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