Filtruj wiersze DataFrame Pand według listy ciągów w Pythonie — przewodnik krok po kroku

Wypróbuj Nasz Instrument Do Eliminowania Problemów

Analizując dane w formacie A Ramka danych Pandy w Pythonie często będziesz chciał przefiltrować ramkę DataFrame, aby zachować tylko wiersze zawierające określone wartości. Jednym z typowych zadań filtrowania jest filtrowanie wierszy na podstawie określonej listy ciągów, zachowując tylko wiersze zawierające jeden lub więcej ciągów z listy.

W tym obszernym przewodniku poznasz kilka metod filtrowania ramki danych Pandas na podstawie listy ciągów, w tym:

  • Dokładne dopasowanie ciągów
  • Częściowe dopasowania ciągów
  • Dopasowania niewrażliwe na wielkość liter
  • Dopasowywanie wielu kolumn

Znajdziesz przykłady kodu Pythona dla każdej metody, a także szczegółowe informacje na temat działania operacji filtrowania pod maską. Zacznijmy!

Organizować coś

Najpierw zaimportujemy Pandy i utworzymy prostą ramkę DataFrame, aby zademonstrować techniki filtrowania:

|_+_|

To drukuje:

|_+_|

Zobaczmy teraz różne metody filtrowania wierszy na podstawie listy ciągów.

Dokładne dopasowanie ciągu

Aby odfiltrować ramkę danych tylko do wierszy zawierających dokładne dopasowania ciągów z listy, możesz użyć |_+_| metoda.

Na przykład, aby odfiltrować wiersze o kolorach „białym” lub „szarym”:

|_+_|

Spowoduje to wydrukowanie wierszy zawierających tylko kolory „biały” i „szary”:

|_+_|

|_+_| Metoda sprawdza każdą wartość w kolumnie „Kolor” z listą, zwracając wartość True, jeśli wartość znajduje się na liście, lub False w przeciwnym razie. Zwrócona seria logiczna jest następnie używana do dzielenia ramki DataFrame i zachowywania tylko wierszy, w których |_+_| zwrócił Prawda.

Dokładne dopasowanie przy użyciu zestawu

Alternatywnym podejściem jest użycie zestawu, który ma czas wyszukiwania O(1):

|_+_|

Może to być szybsze w przypadku bardzo dużych list.

Częściowe dopasowanie ciągu

W przypadku częściowych lub „rozmytych” dopasowań ciągów można użyć |_+_| metodę wraz z |_+_| operatora (OR).

Na przykład, aby dopasować wiersze zawierające „biały” LUB „czarny”:

|_+_|

Wyjście:

|_+_|

Tutaj łączymy listę ciągów za pomocą „|” aby utworzyć wyrażenie regularne przekazane do |_+_| aby dopasować wiersze zawierające „biały” lub „czarny”, uwzględniając wielkość liter.

Częściowe dopasowanie bez uwzględniania wielkości liter

Aby w dopasowaniach częściowych wielkość liter nie była uwzględniana, użyj |_+_| ignorować wielkość liter:

|_+_|

Zwraca to te same wiersze, co w poprzednim przykładzie, pokazując, że wielkość liter jest teraz ignorowana.

Filtruj według listy w wielu kolumnach

Możesz także filtrować według wielu kolumn za pomocą listy ciągów. Na przykład, aby dopasować „biały” lub „t-shirt”. albo kolumny „Kolor” lub „Produkt”:

|_+_|

Zwroty:

|_+_|

Tutaj za pomocą |_+_| (OR) pomiędzy |_+_| wywołania, dopasuje wiersze spełniające KAŻDY warunek.

Filtruj według wartości kolumn na liście

W niektórych przypadkach możesz chcieć dopasować dokładne wartości z jednej z kolumn DataFrame, jeśli pojawiają się one na liście.

Najlepszą metodą tego rodzaju filtrowania jest użycie |_+_| Ponownie:

|_+_|

To drukuje:

|_+_|

Wniosek

Przeanalizowaliśmy kilka przydatnych metod filtrowania wierszy Pandas DataFrame na podstawie listy ciągów filtrów, w tym:

  • Używając |_+_| dla dokładnych dopasowań
  • Stosowanie |_+_| dla częściowych dopasowań
  • ŁĄCZENIE wyrażenia regularnego za pomocą „|” dla logiki OR
  • Filtrowanie według wielu kolumn

Te narzędzia filtrujące zapewniają wydajne i elastyczne sposoby dzielenia i filtrowania ramek danych Pandas w celu uzyskania szybkich, ale złożonych przepływów pracy analitycznych.

Teraz masz wiedzę, jak używać list ciągów do szybkiego filtrowania podzbiorów danych w projektach związanych z nauką o danych w języku Python!

Zobacz Też: