Panda's: rijen filteren op basis van tekenreekslengte


U kunt de volgende methoden gebruiken om rijen te filteren die een tekenreeks van een specifieke lengte bevatten in een Panda DataFrame:

Methode 1: Rijen filteren op basis van tekenreekslengte in een kolom

 #filter rows where col1 has a string length of 5
df. loc [df[' col1 ']. str . len () == 5 ]

Methode 2: Filter rijen op basis van de tekenreekslengte van meerdere kolommen

 #filter rows where col1 has string length of 5 and col2 has string length of 7
df. loc [(df[' col1 ']. str . len () == 5 ) & (df[' col2 ']. str . len () == 7 )]

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 ({' conf ': ['East', 'East', 'North', 'West', 'North', 'South'],
                   ' pos ': ['Guard', 'Guard', 'Forward', 'Center', 'Center', 'Forward'],
                   ' points ': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print (df)

    conf pos points
0 East Guard 5
1 East Guard 7
2 North Forward 7
3 West Center 9
4 North Center 12
5 South Forward 9

Voorbeeld 1: Rijen filteren op basis van tekenreekslengte in een kolom

De volgende code laat zien hoe u rijen uit het DataFrame filtert die een tekenreekslengte van 5 hebben in de conf- kolom:

 #filter rows where conf has a string length of 5
df. loc [df[' conf ']. str . len () == 5 ]

	conf pos points
2 North Forward 7
4 North Center 12
5 South Forward 9

Alleen rijen waarin de conf- kolom een tekenreekslengte van 5 heeft, worden geretourneerd.

We kunnen zien dat twee verschillende strings aan dit criterium voldoen in de conf- kolom:

  • „Noorden“
  • „Zuiden“

Beide snaren hebben een lengte van 5 .

Voorbeeld 2: Rijen filteren op basis van de tekenreekslengte van meerdere kolommen

De volgende code laat zien hoe u rijen uit het DataFrame filtert die een tekenreekslengte van 5 hebben in de conf- kolom en een tekenreekslengte van 7 in de pos- kolom:

 #filter rows where conf has string length of 5 and pos has string length of 7
df. loc [(df[' conf ']. str . len () == 5 ) & (df[' pos ']. str . len () == 7 )]

        conf pos points
2 North Forward 7
5 South Forward 9

Alleen rijen waarin de conf- kolom een tekenreekslengte van 5 heeft en de pos- kolom een krachtlengte van 7 heeft, worden geretourneerd.

Opmerking : u kunt hier de volledige documentatie van de str.len() -functie in panda’s vinden.

Aanvullende bronnen

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

Hoe rijen in Pandas DataFrame te verwijderen op basis van de voorwaarde
Hoe u een Pandas DataFrame op meerdere voorwaarden kunt filteren
Hoe u het “NIET IN”-filter in Pandas DataFrame gebruikt

Einen Kommentar hinzufügen

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