Panda's: regels verwijderen die een specifieke string bevatten


U kunt de volgende syntaxis gebruiken om rijen te verwijderen die een bepaalde tekenreeks bevatten in een pandas DataFrame:

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

In deze zelfstudie worden verschillende voorbeelden uitgelegd van praktisch gebruik van deze syntaxis met het volgende DataFrame:

 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

Voorbeeld 1: rijen verwijderen die een specifieke tekenreeks bevatten

De volgende code laat zien hoe u alle rijen uit het DataFrame verwijdert die ‚A‘ in de teamkolom bevatten:

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

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

Voorbeeld 2: rijen verwijderen die een tekenreeks bevatten in een lijst

De volgende code laat zien hoe u alle rijen uit het DataFrame verwijdert die ‚A‘ of ‚B‘ bevatten in de teamkolom:

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

	team conference points
5 C East 5

Voorbeeld 3: rijen verwijderen die een gedeeltelijke tekenreeks bevatten

In de vorige voorbeelden hebben we rijen verwijderd op basis van rijen die exact overeenkomen met een of meer tekenreeksen.

Als we echter regels willen verwijderen die een gedeeltelijke tekenreeks bevatten, kunnen we de volgende syntaxis gebruiken:

 #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

Meer panda-tutorials vind je op deze pagina .

Einen Kommentar hinzufügen

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