Pandy: jak filtrować wiersze na podstawie długości łańcucha


Do filtrowania wierszy zawierających ciąg o określonej długości w ramce DataFrame pandy można użyć następujących metod:

Metoda 1: Filtruj wiersze na podstawie długości ciągu w kolumnie

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

Metoda 2: Filtruj wiersze na podstawie długości ciągu znaków w wielu kolumnach

 #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 )]

Poniższe przykłady pokazują, jak w praktyce używać każdej metody z następującą ramką DataFrame pand:

 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

Przykład 1: Filtruj wiersze na podstawie długości ciągu w kolumnie

Poniższy kod pokazuje, jak filtrować wiersze z ramki DataFrame, które mają długość ciągu 5 w kolumnie conf :

 #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

Zwracane są tylko wiersze, w których kolumna conf ma ciąg znaków o długości 5 .

Widzimy, że dwa różne ciągi spełniają to kryterium w kolumnie conf :

  • „Północ”
  • „Południe”

Oba ciągi mają długość 5 .

Przykład 2: Filtruj wiersze na podstawie długości ciągu znaków w wielu kolumnach

Poniższy kod pokazuje, jak filtrować wiersze z ramki DataFrame, które mają długość ciągu 5 w kolumnie conf i długość ciągu 7 w kolumnie pos :

 #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

Zwracane są tylko wiersze, w których kolumna conf ma długość ciągu 5 , a kolumna pos ma długość wymuszoną 7 .

Uwaga : pełną dokumentację funkcji str.len() w pandach znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:

Jak usunąć wiersze w Pandas DataFrame na podstawie warunku
Jak filtrować ramkę danych Pandas pod wieloma warunkami
Jak korzystać z filtra „NIE W” w Pandas DataFrame

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *