Panda's: hoe gebruik je like in query()


U kunt de volgende methoden gebruiken om LIKE (vergelijkbaar met SQL) te gebruiken in een pandas query() -functie om rijen te vinden die een bepaald patroon bevatten:

Methode 1: Zoek rijen die een patroon bevatten

 df. query (' my_column.str.contains("pattern1") ')

Methode 2: Zoek rijen die een of meerdere patronen bevatten

 df. query (' my_column.str.contains("pattern1|pattern2") ')

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Cavs', 'Heat', 'Mavs', 'Mavs', 'Nets',
                            'Heat', 'Cavs', 'Jazz', 'Jazz', 'Hawks'],
                   ' points ': [3, 3, 4, 5, 4, 7, 8, 7, 12, 14],
                   ' rebounds ': [15, 14, 14, 10, 8, 14, 13, 9, 5, 4]})

#view DataFrame
print (df)

    team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
4 Nets 4 8
5 Heat 7 14
6 Cavs 8 13
7 Jazz 7 9
8 Jazz 12 5
9 Hawks 14 4

Voorbeeld 1: Zoek rijen die een patroon bevatten

De volgende code laat zien hoe u de functie query() gebruikt om alle rijen in het DataFrame te vinden die ‚avs‘ in de teamkolom bevatten:

 df. query (' team.str.contains("avs") ')

        team points rebounds
0 Cavs 3 15
2 Mavs 4 14
3 Mavs 5 10
6 Cavs 8 13

Elke geretourneerde rij bevat ergens in de teamkolom ‚avs‘.

Houd er ook rekening mee dat deze syntaxis hoofdlettergevoelig is.

Dus als we in plaats daarvan ‚AVS‘ zouden gebruiken, zouden we geen resultaten ontvangen omdat er geen rijen met hoofdletters ‚AVS‘ in de teamkolom staan.

Voorbeeld 2: Zoek rijen die een of meerdere patronen bevatten

De volgende code laat zien hoe u de functie query() kunt gebruiken om alle rijen in het DataFrame te vinden die ‚avs‘ of ‚eat‘ bevatten in de teamkolom :

 df. query (' team.str.contains("avs|eat") ')

        team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
5 Heat 7 14
6 Cavs 8 13

Elke geretourneerde rij bevat ergens in de teamkolom ‚avs‘ of ‚eat‘.

Opmerking : de | De operator betekent „of“ in panda’s. Voel je vrij om er zoveel te gebruiken als je wilt, voor nog meer kanaalontwerpen.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Panda’s: rijen filteren op basis van tekenreekslengte
Panda’s: rijen verwijderen op basis van voorwaarde
Panda’s: hoe u het “NO IN”-filter gebruikt

Einen Kommentar hinzufügen

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