Filtr pandy według wartości kolumny

Filtr pandy według wartości kolumny
Jedną z najpopularniejszych technik czyszczenia danych jest filtrowanie danych z DataFrame. Zgodnie z etykietą i położeniem kolumn i wierszy pandy oferuje różnorodne techniki lub metody wyboru danych. Dodatkowo pandy umożliwia filtrowanie wierszy za pomocą indeksowania boolean i wyodrębnienie podzbioru danych w zależności od typów kolumn. Najpopularniejsze metody wyodrębniania podzbiorów danych z pandas DataFrame są omówione w tym artykule - wybieranie jednej kolumny według etykiety, wybieranie kilku kolumn według etykiety itp.

Jak zmienić kolumnę pandas na ciąg

Istnieje wiele metod i technik, których możemy użyć do filtrowania danych z PandaS DataFrame na podstawie wartości w kolumnach. Wykazamy kilka metod filtrowania danych z ramki danych w następujących przykładach:

Najpierw zobaczymy, jak filtrować wiersze Pandas DataFrame w zależności od wartości kolumn przy użyciu określonych operatorów warunkowych i relacyjnych.

Przykład 1: Filtruj wierszy danych za pomocą []

Aby zademonstrować ten przykład, najpierw potrzebujemy ramki danych. Rama danych jest tworzona za pomocą pandy.Funkcja dataFrame (), więc najpierw importujemy bibliotekę pandy, aby utworzyć naszą danych danych.


Utworzyliśmy naszą ramkę danych za pomocą słownika Pythona, a następnie przekazaliśmy go do PD.Funkcja dataFrame (). Określiliśmy nazwy kolumn naszej DataFrame jako „student”, „wiek”, „temat” i „opłata”. Możemy użyć funkcji print (), aby zilustrować naszą „DF” DataFrame.


W poprzedniej ramce danych są 4 kolumny. „Student” przechowuje nazwiska („Anna”, „Dany”, „John”, „Rick”, „Jim”, „Kenny”). „Wiek” przechowuje wiek osób (25, 23, 22, 18, 19, 20). „Temat” składa się z nazwisk („rachunki”, „biznes”, „nauka”, „matematyka”, „architektura”, „ai”). A „opłata” składa się z opłaty każdego przedmiotu (900, 690, 799, 960, 970, 1080). Załóżmy, że musimy odfiltrować wiersze, w których wartość jest większa niż 900 w kolumnie „Opłata”.


Aby uzyskać dostęp do wartości kolumny „Opłata”, umieszczamy nazwę kolumny, i.mi. „Opłata”, wewnątrz nawiasów. Po uzyskaniu dostępu do wartości zastosowaliśmy warunek DF [„Fee”]> 900. Aby przechowywać wartości spełniające warunek, utworzyliśmy zmienną „wyjściową”.


Mamy trzy rzędy, które spełniają poprzedni stan. Możemy użyć różnych kolumn wewnątrz nawiasów [].

Przykład 2: Filtruj wierszy danych za pomocą metody LOC []

W tym przykładzie metoda LOC [] służy do uzyskania dostępu do wartości z kolumn DataFrame. Następnie używamy operatorów relacyjnych lub warunkowych do filtrowania wierszy DataFrame. Funkcja loc () ułatwia szybkie uzyskanie wartości z ramki danych. Przekazując nazwę kolumny, nazwę wiersza lub wartość indeksu do funkcji loc (), możemy pobrać wartości danych przechowywane w określonym wierszu lub kolumnie.


Aby pobrać wartości z kolumn wiekowych, przekazaliśmy DF [„wiek”] wewnątrz DF.Funkcja loc []. Zastosowaliśmy również warunek wewnątrz funkcji, aby odzyskać tylko te rzędy, w których wartość wieku jest większa niż 19. Aby sprawdzić, czy odzyskał prawidłowe wiersze, czy nie, zilustrujmy naszą frame za pomocą funkcji print ().


W wcześniej podanych przykładach widzieliśmy, jak używać operatorów relacyjnych lub warunkowych do filtrowania określonych wierszy na podstawie wartości kolumnowych. Teraz zobaczymy, jak filtrować dane za pomocą funkcji isin ().

Przykład 3: Filtruj wierszy danych z wartościami wewnątrz listy za pomocą metody isin ()

ElementyFrame Data Frame są sprawdzane, czy są zawarte w wartościach za pomocą funkcji ISIN (). Tylko wtedy, gdy wszystkie etykiety pasują do danego miejsca, wynik będzie prawdziwy. Utwórzmy naszą strumień danych po zaimportowaniu modułu PandaS. Znowu PD.DataFrame () służy do tworzenia naszego nowego DataFrame.


Stworzyliśmy ramkę danych z trzema kolumnami - „Nazwa”, „Oznaczenie” i „wynagrodzenie”, które przechowują dane („Richard”, „Will”, „Steve”, „Larry”, „Lana”, „Tony”), („Księgowy”, „Księgowy”, „Manager”, „Clerk”, „Clerk”, „Manager”) i (1200, 1250, 2100, 1000, 990, 2200). Teraz tworzymy obiekt listy, który jest przekazywany wewnątrz funkcji isin () jako wejście w celu dopasowania wartości listy z określonych wartości kolumnowej naszej dataframe.


Najpierw utworzyliśmy listę, w której umieszczamy wartości „księgowy” i „menedżer” i przypisaliśmy tę listę do zmiennej „desig”. Dostęp do wartości kolumny „Oznaczanie” za pomocą nazwy kolumny, i.mi. „Oznaczenie”, wewnątrz []. Użyliśmy funkcji ISIN () na ocenianych wartościach kolumny, aby dopasować wartości na liście do wartości wewnątrz kolumny „oznaczenia” w naszej ramce danych.


W liście użyliśmy wartości „księgowego” i „menedżera”. Tak więc funkcja zwróciła wiersze, w których kolumna oznaczająca ma wartości menedżera i księgowego.

Przykład 4: Filtruj dane oparte na wartościach w kolumnach DataFrame za pomocą metody LOC [] i ISIN ()

Teraz używamy metody LOC [] do pobierania lub dostępu do określonych kolumn naszej ramki danych. Po uzyskaniu dostępu do danych używamy funkcji ISIN () do filtrowania danych w naszym DataFrame.


W poprzednim skrypcie mamy listę „SAL” z wartościami [1200, 2100, 2200]. Następnie lista „SAL” jest przekazywana w funkcji isin () jako argument w celu dopasowania wartości listy do kolumny „wynagrodzenia”. Po dopasowaniu wartości wiersze uzyskane z funkcji są przechowywane w nowej zmiennej „DF_FILTER”. Teraz przeglądamy wynik za pomocą funkcji print ().


Można zauważyć, że wymagane wiersze z wartościami 1200, 2100 i 2200 są wyodrębnione z „DF”.

Teraz, w następnym przykładzie, odfiltrujemy dane za pomocą wielu warunków.

Przykład 5: Filtruj wierszy danych z wieloma warunkami w kolumnach DataFrame

Najpierw utwórzmy ramkę danych, w której stosujemy wiele warunków do filtrowania wierszy DataFrame.


W poprzednim ramie danych jest w sumie 4 kolumny - „student”, „wiek”, „kursy” i „opłata”. Kolumna „Student” przechowuje imię studentów („Mike”, „Rob”, „Arya”, „Tom”, „Jack”, „Luca”, „Mark”, „Max” i „Alex”). Kolumna „Wiek” zawiera wiek każdego ucznia (21, 21, 23, 22, 19, 20, 25, 23, 22). Podczas gdy kolumny „kursy” i „opłaty” przechowują nazwę kursów („rachunki”, „biznes”, „nauka”, „matematyka”, „architektura”, „ai”, „rachunki”, „biznes”, „AI” ”) I opłaty za każdy kurs dla studenta (1000, 1190, 1250, 1320, 1245, 1580, 1420, 1600, 1600). Zastosujmy warunki, aby wyodrębnić wymagane wiersze.


Utworzyliśmy listę „sub” z elementami „Księgowości” i „AI”. Lista jest przekazywana w funkcji ISIN () w celu dopasowania do elementów listy do wartości kolumny „kursów”. Wykorzystaliśmy inny warunek, że wartość w kolumnie „Opłata” musi być większa niż 1250. Poprzedni skrypt pobiera rzędy, które spełniają oba warunki.


Te rzędy spełniają oba warunki.

Wniosek

W tym samouczku omówiliśmy wiele metod i technik, które można wykorzystać do filtrowania danych z PandaS DataFrame na podstawie wartości w kolumnach. Staraliśmy się, abyś mógł samodzielnie odfiltrować dane na podstawie wartości kolumny. Wdrożyliśmy różne przykłady w tym artykule, aby nauczyć Cię, jak korzystać z funkcji LOC [] i isin (), a także operatorów relacyjnych lub warunkowych, aby wyodrębnić dane z danej ramki danych w zależności od wartości kolumny.