Przedstawiamy PivotUI: Nigdy nie używaj Pand do grupowania i ponownego obracania danych
Motywacja
Operacje obracania i grupowania są podstawą każdego typowego procesu analizy danych tabelarycznych. Metoda pivot_table()
and groupby()
jest jedną z najczęściej używanych metod w Pandas .
Używane głównie do zrozumienia danych kategorycznych, Grupowanie umożliwia obliczanie statystyk dla poszczególnych grup w danych.

Z drugiej strony tabele przestawne umożliwiają zestawienie danych w celu szczegółowej analizy.

Przede wszystkim doceniam znaczenie tabel przestawnych. Jednak wiele razy obracanie (konkretnie) w Pandach było trochę onieśmielające. Jestem pewien, że wielu z was by to rezonowało.
Dla kogoś, kto korzysta z programu Excel, który zapewnia elegancki i intuicyjny interfejs użytkownika do generowania tabel przestawnych, przejście na Pandy nie jest tak płynne, jak można by się spodziewać.
Co więcej, w wielu zadaniach związanych z analizą danych zwykle nie kończy się na przestawianiu lub grupowaniu danych. Wiele osób jest często zainteresowanych tworzeniem wykresów/wykresów, aby uczynić je bardziej zrozumiałymi, co przyczynia się do pisania większej ilości kodu.
Czy nie byłoby miło, gdybyśmy mieli przyjazny dla początkujących i elegancki interfejs użytkownika do wykonywania tych operacji na Pandas DataFrames, tak jak mamy to w Excelu?
Przedstawiamy PivotTableJS !
Tabela przestawnaJS
Jak sama nazwa wskazuje, PivotTableJS to biblioteka Javascript do tworzenia tabel przestawnych (a także tabel zgrupowanych).
Jego największą zaletą jest to, że można go używać w notatniku Jupyter ( czytaj więcej ), bez pisania żadnego kodu. W ten sposób możesz napisać swój kod (gdziekolwiek potrzebujesz), zmodyfikować dane i natychmiast wrzucić je do PivotTableJS.
Co więcej, jego funkcja „przeciągnij i upuść” oraz intuicyjny układ sprawiają, że zadanie agregacji, tworzenia tabel przestawnych i kreślenia interaktywnych wykresów jest łatwe i szybkie.
Zainstaluj PivotTableJS
Aby zainstalować PivotTableJS przy użyciu programu pip
, wpisz następujące polecenie w terminalu.
Alternatywnie możesz również conda
:
Rozpoczęcie pracy
Załaduj zestaw danych
Pierwszym krokiem jest oczywiście załadowanie zestawu danych za pomocą Pand.
Do celów demonstracyjnych użyję fałszywego zestawu danych zawierającego fałszywe informacje o pracownikach, który stworzyłem za pomocą Fakera .
Wywołaj PivotUI
Po załadowaniu zestawu danych jako Pandas DataFrame ( df
), zaimportuj pivot_ui
metodę z pivottablejs
biblioteki.
Następnie w panelu wyjściowym Jupytera pojawi się następujące okno.
Kolumny są pokazane w lewym panelu interfejsu. Domyślnie pokazuje liczbę rekordów w obszarze obliczeń ( 1,000
tutaj).

Możesz przeciągnąć kolumny do dwóch pustych pól do wykonania groupby
i pivot
operacji oraz wybrać odpowiednią agregację z listy aggregations
rozwijanej.

Na koniec, oprócz listy rozwijanej agregacji, możesz zobaczyć inną listę rozwijaną (obecnie wyświetlaną Table
). Służy do wyboru formatu wyjściowego:

Następnie przyjrzyjmy się, jak możesz wykonać groupby
i pivot
używać tego narzędzia.
Grupuj za pomocą PivotTableJS
Aby przeprowadzić grupowanie w jednej (lub wielu) kolumnach, przeciągnij je do pustego obszaru poniżej agregacji.
Weźmy na przykład pod uwagę, że chcemy pogrupować według Employee_Status
kolumny. Zostało to zademonstrowane poniżej:

To takie proste.
Domyślną agregacją jest tu wielkość grupy ( Count
). Możesz to zmienić i wykonać na dowolnej wybranej kolumnie z żądaną metodą agregacji.
Powiedzmy, że chcemy znaleźć średnią Employee_Rating
dla każdej wartości w Employee_Status
kolumnie. Zostało to zademonstrowane poniżej:

Rzeczy się nie kończą. Możesz także zmienić format wyjściowy.
Powiedzmy w powyższej demonstracji, że chcemy pokazać średnią Employee_Rating
zgrupowaną w Employee_Status
kolumnie jako wykres słupkowy. Możesz to zrobić w następujący sposób:

Całkiem fajnie, prawda?
Wyobraź sobie, ile czasu zajęłoby zrobienie tego samego z kodem. Jest to szybkie i bezproblemowe.
Tabela przestawna za pomocą PivotTableJS
Podobnie jak GroupBy, tabele przestawne można dość łatwo wygenerować za pomocą PivotTableJS.
Wymagany jest tylko jeden dodatkowy krok. W przykładach grupowych przeciągnęliśmy kolumny tylko do jednego z pustych paneli.
Ponieważ jednak zarówno wiersze, jak i kolumny tabel przestawnych pochodzą z wartości w tabeli, powinniśmy przeciągnąć również wiersz nagłówka.
Załóżmy na przykład, że chcesz wyświetlić tabelę przestawną Employee_Status
i Employee_City
kolumny. Można to zrobić w następujący sposób:

Jak być może zauważyłeś, tym razem przeciągnęliśmy również kolumnę do górnego panelu, co stworzyło tabelę przestawną zamiast Grupowania.
Reszta rzeczy pozostaje taka sama, jak omówiono w powyższej sekcji.
Możesz zmienić agregację z listy aggregation
rozwijanej i wybrać również inną kolumnę.
Co więcej, możesz również przedstawić dane jako wykresy dla lepszej zrozumiałości.
Wniosek
W ten sposób doszliśmy do końca tego bloga. Mam nadzieję, że nauczyłeś się czegoś nowego.
Jestem przekonany, że to niesamowite narzędzie pozwoli Ci zaoszczędzić mnóstwo czasu podczas wykonywania typowych zadań związanych z analizą danych.
Uważasz, że ta wskazówka jest interesująca?
Jeśli chcesz dowiedzieć się więcej takich eleganckich porad i sztuczek na temat Data Science i Pythona, codziennie publikuję pouczającą wskazówkę na LinkedIn.
Wszystkie wskazówki, które opublikowałem, znajdziesz w Moim archiwum postów na LinkedIn . Możesz śledzić mnie na LinkedIn, aby zobaczyć wszystkie przyszłe posty.
Alternatywnie możesz również otrzymywać je pocztą elektroniczną, subskrybując poniżej:
Zapisz się na Codzienną Dawkę Nauki o Danych. Tutaj dzielę się eleganckimi wskazówkami i sztuczkami dotyczącymi Data Science, jedna wskazówka dziennie. Codziennie otrzymuj te wskazówki bezpośrednio na swoją skrzynkę odbiorczą.
Zostań Data Science PRO! Uzyskaj BEZPŁATNY zestaw narzędzi Data Science Mastery Toolkit z ponad 450 pytaniami Pandas, NumPy i SQL.
Dziękuje za przeczytanie!