Pandy Przypadek Kiedy

Pandy Przypadek Kiedy



Gdy warunek jest spełniony lub spełniony, instrukcja case w języku pandas dostarcza dane wyjściowe lub zwraca wartość. Instrukcja case umożliwia porównanie wartości zmiennej z zakresem potencjalnych wartości. Gdy zestaw wartości jest przywoływany lub przekazywany w instrukcji case, każda wartość w zestawie jest sprawdzana przez przypadki lub warunki w instrukcji. Możemy również użyć instrukcji if-else, aby wykonać tę samą operację. Jeśli określony warunek jest spełniony, instrukcja if-else powoduje wykonanie fragmentu skryptu. Instrukcja if-else mówi, aby wykonać to, jeśli warunek jest spełniony i zrobić to, jeśli nie jest. W tym samouczku wykonamy różne operacje za pomocą instrukcji case i instrukcji if-else.

Jak korzystać ze stanowiska Pandas Case Statement?

Zestawienia przypadków można tworzyć na kilka sposobów. Funkcja NumPy where(), która wykorzystuje następującą podstawową składnię, jest najprostszym sposobem na skonstruowanie instrukcji case w Pandas DataFrame:

df [ 'Nazwa kolumny' ] = np.gdzie ( stan 1 , „wartość1”,
np.gdzie ( stan dwa , „wartość2”,
np.gdzie ( stan 3 , „wartość3”, „wartość4” ) ) )







Powyższa instrukcja sprawdzi każdy warunek pod kątem wartości i, jeśli warunek jest spełniony, wygeneruje dane wyjściowe lub zwróci wartość względem warunku.



Przykład nr 1: Instrukcja Case Pandas używająca funkcji where()

Najpierw utwórzmy ramkę danych, abyśmy mogli użyć naszej instrukcji case. Aby utworzyć ramkę danych, najpierw zaimportujemy moduły numpy i pandas, abyśmy mogli korzystać z ich funkcjonalności. Funkcja pd.Dataframe() zostanie użyta do utworzenia naszej ramki danych.







Stworzyliśmy ramkę danych „df”. Słownik Pythona jest przekazywany wewnątrz funkcji pd.DataFrame() jako argument z kluczami i wartościami. Użyjemy funkcji print(), aby zobaczyć naszą ramkę danych.



W ramce danych 'df' mamy dwie kolumny „imię” i „znaczniki” z wartościami ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] i [4, 6 , 8, 6, 9,10]. Załóżmy, że nazwa to kolumny przechowujące nazwiska uczniów, a kolumna „oceny” przechowuje wynik jakiegoś ostatniego testu. Teraz napiszemy instrukcję case, która doda nową kolumnę o nazwie „uwagi”, której wartości są oparte na wartościach określonych przez nas, dla każdego warunku.

Metoda „numpy.where()” dostarcza indeksy elementów z tablicy wejściowej, kolumny lub listy, które spełniają określony warunek. W powyższym przypadku przełącznika funkcja np.where() sprawdza każdy element w kolumnach „marks”. Jeśli wartość jest równa lub mniejsza niż 5, zwróci „niepowodzenie” jako wyjście. Jeśli wartość jest mniejsza lub równa 7, zwróci zadowalający, a jeśli wartość jest mniejsza lub równa 9, zwróci „świetnie”. Jeśli nie ma żadnego, wynik będzie doskonały.

Jak można zauważyć, nowa kolumna „uwagi” jest tworzona w naszej ramce danych „df”, przechowując wartości zwrócone przez powyższą instrukcję case.

Przykład nr 2:

Spróbujmy ponownie powyższą instrukcję case z inną ramką danych. Załóżmy, że musimy oceniać graczy na podstawie ich łącznych bramek w poprzednim turnieju piłkarskim. Stwórzmy więc ramkę danych do przechowywania rekordów piłkarzy.

Przekazaliśmy słownik z kluczami „name” i „goals” wewnątrz funkcji pd.DataFrame(), aby utworzyć naszą ramkę danych. Aby wydrukować naszą ramkę danych, użyjemy funkcji drukowania.

Jak widać w powyższej ramce danych, mamy dwie kolumny: „nazwa” i „cele”. W kolumnie nazwa mamy imiona graczy [John, Marty, Clay, Nick, Mike, Alex, Tom, Rocky]. W „kolumnie” bramek mamy całkowitą liczbę bramek zdobytych przez każdego gracza w poprzednim turnieju. Użyjemy teraz naszego opisu przypadku, aby ocenić tych graczy na podstawie bramek, które strzelili.

Powyższy przypadek jest tworzony za pomocą funkcji where(). Wewnątrz sprawy funkcja instrukcji sprawdza każdy element w kolumnach „oznaczenia” pod kątem warunków. Jeśli wartość w kolumnie „goals” jest równa lub mniejsza niż 5, zwróci „C”. Jeśli wartość w kolumnie „goals” jest równa lub mniejsza niż 9, zwróci „B”. Zwróci „A”, jeśli wartość w kolumnie „goals” jest równa lub większa niż 10. Wartości zwrócone przez zestawienie zostaną zapisane w nowej kolumnie „rating”. Wydrukujmy „df”, aby zobaczyć wyniki.

Nowa kolumna „rating” została pomyślnie utworzona za pomocą powyższego skryptu.

Przykład #3: Instrukcja if-else Pandas używająca funkcji apply()

Oś wiersza lub kolumny ramki danych jest używana przez metodę apply() do implementacji funkcji. Możemy stworzyć własną zdefiniowaną funkcję i użyć jej w naszej ramce danych w pandach. Będzie zawierał warunki gdyby-inne. Stwórzmy najpierw naszą ramkę danych, a następnie stworzymy funkcję, w której użyjemy instrukcji if-else do wygenerowania wyniku. Aby utworzyć naszą ramkę danych, najpierw zaimportujemy moduł pand, a następnie przekażemy słownik wewnątrz metody pd.DataFrame().

Jak widać, nasza ramka danych składa się z dwóch kolumn „A” przechowujących wartości liczbowe [23, 35, 64, 74, 85] oraz „B” z wartościami [45, 34, 61, 89, 27]. Teraz utworzymy funkcję, która określi, która wartość jest większa w obu kolumnach w każdym wierszu naszej ramki danych.

Możesz użyć funkcji lambda Pythona „pandy. DataFrame.apply()”, aby uruchomić wyrażenie. W Pythonie funkcja lambda jest kompaktową anonimową funkcją, która akceptuje dowolną liczbę argumentów i wykonuje wyrażenie. W powyższym skrypcie stworzyliśmy instrukcję warunku, która porównuje wartości obu kolumn i przechowuje wynik w nowej kolumnie „porównanie”. Jeśli wartość kolumny „A” jest mniejsza niż wartość kolumny „B”, zwróci „B jest większe”. Jeśli warunek nie jest spełniony, zwróci „A jest większe”.

Przykład nr 4:

Wypróbujmy inny przykład, używając instrukcji if-else wewnątrz funkcji apply() z inną ramką danych.

Załóżmy, że nasza ramka danych przechowuje rekordy pracowników jakiejś firmy. Kolumna „emp” przechowuje nazwiska pracowników [„Franky”, „Harry”, „Łukasz”, „Piotr”, „Andrzej”], natomiast kolumna „wynagrodzenie” przechowuje pensje każdego pracownika [1350, 1000, 900 , 1200, 980] w ramce danych „df”. Teraz utworzymy naszą instrukcję if-else za pomocą metody apply().

Powyższy warunek sprawdzi dla każdej wartości w kolumnie 'wynagrodzenie' i doda 200 do pensji pracowników, których wartość wynagrodzenia jest mniejsza lub równa 1000. W nowej kolumnie 'zapisaliśmy wartości zwracane z funkcji apply() przyrost'. Zobaczmy wyniki z powyższego skryptu.

Jak widać, funkcja pomyślnie dodała 200 do wartości mniejszych lub równych 100. Wartości większe niż 1000 pozostały bez zmian.

Wniosek:

W tym samouczku zobaczyliśmy, że gdy warunek jest spełniony, instrukcja tego typu, zwana instrukcją case, zwraca wartość. Widzieliśmy, jak utworzyć instrukcję case, aby wykonać wymaganą operację lub zadanie. W tym samouczku użyliśmy funkcji np.where() i apply() do tworzenia instrukcji case. Zaimplementowaliśmy kilka przykładów, aby nauczyć Cię, jak używać instrukcji case pandas za pomocą funkcji where() i jak używać funkcji apply() do tworzenia instrukcji case.