Pandas: so löschen sie zeilen, die eine bestimmte zeichenfolge enthalten


Mit der folgenden Syntax können Sie Zeilen entfernen, die eine bestimmte Zeichenfolge in einem Pandas-DataFrame enthalten:

 df[df[" col "]. str . contains (" this string ") == False ]

In diesem Tutorial werden mehrere Beispiele für die praktische Verwendung dieser Syntax mit dem folgenden DataFrame erläutert:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'],
                   ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'],
                   ' points ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

        team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6
5 C East 5

Beispiel 1: Zeilen entfernen, die eine bestimmte Zeichenfolge enthalten

Der folgende Code zeigt, wie alle Zeilen aus dem DataFrame entfernt werden, die „A“ in der Teamspalte enthalten:

 df[df[" team "]. str . contains (" A ")== False ]

        team conference points
3 B West 6
4 B West 6
5 C East 5

Beispiel 2: Zeilen entfernen, die eine Zeichenfolge in einer Liste enthalten

Der folgende Code zeigt, wie alle Zeilen aus dem DataFrame entfernt werden, die „A“ oder „B“ in der Teamspalte enthalten:

 df[df[" team "]. str . contains (" A|B ")== False ]

	team conference points
5 C East 5

Beispiel 3: Zeilen entfernen, die eine Teilzeichenfolge enthalten

In den vorherigen Beispielen haben wir Zeilen basierend auf Zeilen gelöscht, die genau mit einer oder mehreren Zeichenfolgen übereinstimmten.

Wenn wir jedoch Zeilen entfernen möchten, die eine Teilzeichenfolge enthalten, können wir die folgende Syntax verwenden:

 #identify partial string to look for
discard = [" Wes "]

#drop rows that contain the partial string "Wes" in the conference column
df[~df. conference . str . contains (' | ' .join (discard))]

team conference points
0 A East 11
1 A East 8
2 A East 10
5 C East 5

Weitere Panda-Tutorials finden Sie auf dieser Seite .

Einen Kommentar hinzufügen

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