Filtr pandy według wartości

Filtr pandy według wartości
Struktura tabelaryczna z kolumnami i wierszami to oprawa danych w pandy. Dane mogą być czyszczone, filtrowane, agregowane i grupowane za pomocą tej biblioteki. Umożliwia nam podzielenie oryginalnego zestawu danych na mniejsze grupy. Dzieląc zestaw danych na mniejsze ramki danych, umożliwia nam wyodrębnienie podzbiorów z danego zestawu danych. Ułatwia to badanie, wizualizację i analizowanie poszczególnych sekcji danych. Konieczne jest zrozumienie tych poleceń, aby je skutecznie używać. Nauczymy się różnych sposobów filtrowania ramki danych pandas w tym samouczku Pythona.

Jak filtrować ramkę danych według wartości w pandy?

Na szczęście istnieje kilka technik do filtrowania danych z danych danych i serii w pandach. Wartości z ramki danych można filtrować przy użyciu różnych funkcji, jak pokazano w poniższych przykładach.

Przykład nr 01: Filtrowanie wierszy danych z pomocą wartości kolumny

W ramce danych często musisz zlokalizować instancje określonej wartości. .Funkcja indeksowania LOC ułatwia filtrowanie wierszy w zależności od tego, czy wartość istnieje, czy nie. Najpierw zaimportujemy bibliotekę Panda. Następnie utworzymy ramkę danych za pomocą PD.Funkcja dataFrame ().

Stworzyliśmy sześć rzędów i trzy kolumny. Kolumna „osoba” składa się z imion niektórych osób („Jason”, „Arya”, „Kim”, „Ryan”, „Sana”, „Mark”). Kolumna „wagowa” to wartości danych reprezentujące wagi osób w kg (80, 56, 60, 72, 63, 90). Kolumna „płci” ma wartości ciągów reprezentujące płeć jednostek („M”, „F”, „F”, „M”, „F”, „M”). Wyodrębnijmy wiersze, w których wartość w kolumnie „płci” to „F”. W tym celu zostanie użyta funkcja loc []. Rzędy można pobrać za pomocą funkcji LOC []. Tylko etykiety indeksu mogą być przekazywane jako dane wejściowe w ramce danych.Metoda loc []. Zwraca ramkę danych lub wiersz, jeśli etykieta indeksu istnieje w wywoływanej ramce danych.

Logiczne wyrażenie jest traktowane jako argument przez .Metoda loc []. Określając DF [„Sex”] == 'f' wewnątrz Funkcji LOC [], funkcja zwróciła trzy wiersze, w których wartość kolumny „seks” to „F”.

Przykład nr 02: Filtrowanie wierszy danych z pomocą warunków logicznych lub relacyjnych

W niektórych scenariuszach możesz znaleźć zgrupowane dane na podstawie wzorców niż wierszy o jednej wartości. Wyrażenia logiczne można użyć do definiowania wzorów. Najpierw utwórzmy ramkę danych.

Powyższa rama danych składa się z trzech kolumn „Gymnast” z wartościami („Roxy”, „Alan”, „Eva”, „Marcus”, „Jim”, „Zack”, „Lana”, „Robin”), wysokość kolumny przechowują Wysokości gimnastyczek w stopach (6.2, 6.0, 5.8, 6.2, 6.4, 5.9, 5.7, 6.0) oraz kolumna zawierająca płcie gimnastyczki („żeńska”, „mężczyzna”, „kobieta”, „mężczyzna”, „mężczyzna”, „mężczyzna”, „kobieta”, „kobieta”). Logika zostanie zdefiniowana w operatorze indeksującym ([]) jako argument.

Podobnie jak w ostatnim przykładzie, filtrowujemy wiersze DataFrame, aby wyodrębnić tylko te, w których wartości danych w kolumnie „Wysokość” są większe niż 6.0.

Jak widać, mamy trzy wiersze, w których wartość jest większa niż 6.0 w kolumnie „wysokość”. Możemy również zdefiniować wiele warunków za pomocą i operatora. Odzyskajmy rzędy, w których wysokość jest mniejsza niż 6.2, a wartość w kolumnie „płci” to „żeńska”.

Określiliśmy dwa warunki wewnątrz operatora indeksowania ([]), df [„wysokość”] < 6.2) and (df['gender'] == 'female'). The function has extracted the rows where the height is less than 6.2 and gender is equal to 'female'.

Przykład nr 03: Filtrowanieframa danych za pomocą operatora plaster

Są sytuacje, w których należy filtrować dane na podstawie pozycji indeksu, a nie wartości. Możesz szybko określić zakres indeksu wiersza danych, kolumny lub obu, aby wyodrębnić za pomocą .Metoda ILOC. Utwórzmy ramkę z ramką danych z wieloma kolumnami i praktycznie zrozumieć użycie funkcji ILOC [].

Wymagana ramka danych została utworzona przy użyciu słownika Pythona wewnątrz nawiasów PD.Funkcja dataFrame (). Kolumna DataFrame „Player” składa się z nazwy graczy („Alex”, „Brock”, „Riley”, „Anna”, „Jia”, „Henry”, „Tom”, „Ron”), „wynik„ „Kolumna zawiera wynik jakiejś najnowszej gry (9, 9, 6, 7, 8, 10, 4, 5), kolumna„ Ranks ”reprezentuje szeregi graczy (3, 2, 6, 5, 4, 1, 8, 7) i kolumna „klasy” przechowująca oceny („A”, „A”, „C”, „B”, „B”, „A”, „D”, „C”). Użyjmy funkcji ILOC [] do filtrowania danych.

Pierwszy argument zwraca pięć wierszy danych, jak określliśmy 0: 5. Oznacza to wiersze, które zaczynają się od indeksu 0, a kończą się przed indeksem 5. Dwie kolumny danych są zwracane, jak określiliśmy 1: 3 w drugim argumencie, wskazując kolumny rozpoczynające się od indeksu 1 i kończące się przed indeksem 3. Jeśli chcesz odzyskać wszystkie wiersze lub wszystkie kolumny, możesz zostawić to miejsce argumentu (pierwsza lub drugie) z okrężnicą „:”.

Przykład nr 04: Filtrowanie wierszy danych za pomocą funkcji Query ()

Możesz określić jeden warunek lub wielokrotność w pandy.Metoda zapytania () jako ciąg. Eliminuje również wymóg pobierania wierszy danych za pomocą operatorów indeksujących ([],.loc,.ILOC itp.). Najpierw musimy utworzyć ramkę danych, z której odfiltrujemy wiersze.

W naszej formie danych są dwie kolumny: „Studenci” z wartościami danych („Ryan”, „Wanda”, „Bob”, „Drew”, „Natalia”, „Maya”, „Adam”, „Nick”) i „Marks” „Z wartościami (48, 35, 46, 20, 28, 30, 43, 36). Aby funkcja Query () w celu pobierania danych z DataFrame możemy określić pojedynczy warunek lub wiele warunków jako ciąg.

Określiliśmy warunek pobierania wierszy, w których wartość w kolumnie znaki jest mniejsza niż 48 i większa niż 30. Cztery wiersze są pobierane z ramki danych, które spełniają warunek określony w funkcji Query ().

Przykład nr 05: Filtrowanie wierszy danych z wartości zerowych

W niektórych przypadkach wartości zerowe mogą być obecne w zestawie danych. Za pomocą pandy.Funkcja notNull (), łatwo jest wyeliminować rzędy z brakującymi wartościami z DataFrame. Utwórzmy ramkę danych o wartości zerowych lub brakujących wartości w co najmniej jednej z jego kolumn.

Jak widać w kolumnie „col2” (11, brak, 36, brak, 21, 46, 60), istnieją pewne brakujące wartości. Przy użyciu operatora indeksowania i funkcji NOTNULL (.

Powyższa funkcja wyeliminowała wszystkie wiersze o wartości zerowych.

Przykład nr 06: Filtrowanie wierszy danych za pomocą metod ciągów

Przykłady tego samouczka skoncentrowały się głównie na filtrowaniu liczb numerycznych. Można jednak również użyć danych ciągów. Aby jeszcze bardziej dokładnie filtrować dane, można również użyć niektórych funkcji stringowych. Skorzystajmy z ramki danych, które utworzyliśmy w przykładzie nr 5.

Możesz filtrować wiersze danych za pomocą właściwości STR i zawierać () funkcję na podstawie określonej części wartości ciągu lub wartości ciągu jako całości. Odzyskajmy rzędy posiadające określony ciąg „Tygrys” w wartościach kolumn „col3”.

Możemy również pobierać rzędy DataFrame przez początkową literę wartości ciągu za pomocą właściwości STR i funkcji startswith (). Początkowa litera łańcucha zostanie określona w funkcji startswith (). Odzyskajmy wiersze, w których wartości ciągów zaczynają się od litery „A” w kolumnie „col1”.

Wniosek

W tym samouczku omówiliśmy, jak filtrować ramkę danych według wartości w pandy. Widzieliśmy, że wartości Frame można filtrować za pomocą kilku różnych funkcji. W tym samouczku zaimplementowaliśmy wiele przykładów, aby nauczyć, jak filtrować wiersze danych z pomocą DataFrame.Metoda loc [], warunki logiczne lub relacyjne, operator plasterka, funkcja zapytania (), funkcja i metody String Methods, notNull ().