Nauka o danych

Jak utworzyć tabelę przestawną w Pandas Python

Jak utworzyć tabelę przestawną w Pandas Python
W pytonie pandy tabela przestawna składa się z funkcji sum, liczebności lub agregacji pochodzących z tabeli danych. Funkcje agregacji mogą być używane na różnych cechach lub wartościach. Tabela przestawna pozwala nam podsumować dane tabeli pogrupowane według różnych wartości, w tym wartości kategorialnych kolumn.

Przed użyciem tabeli przestawnej pandy upewnij się, że rozumiesz swoje dane i pytania, które próbujesz rozwiązać za pomocą tabeli przestawnej. Korzystając z tej metody, możesz osiągnąć wspaniałe rezultaty. W tym artykule omówimy, jak stworzyć tabelę przestawną w pandas python.

Odczytaj dane z pliku Excel

Pobraliśmy bazę danych Excela sprzedaży żywności. Przed rozpoczęciem wdrożenia należy zainstalować kilka niezbędnych pakietów do odczytu i zapisu plików bazy danych Excel. Wpisz następujące polecenie w sekcji terminala edytora Pycharm:

pip zainstaluj xlwt openpyxl xlsxwriter xlrd

Teraz odczytaj dane z arkusza Excel. Zaimportuj wymagane biblioteki pandy i zmień ścieżkę swojej bazy danych. Następnie, uruchamiając poniższy kod, dane można pobrać z pliku.

importuj pandy jako PD
importuj numer jako np
dtfrm = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
drukuj(dtfrm)

Tutaj dane są odczytywane z bazy danych programu Excel sprzedaży żywności i przekazywane do zmiennej dataframe.

Utwórz tabelę przestawną za pomocą Pandas Python

Poniżej stworzyliśmy prostą tabelę przestawną, korzystając z bazy danych sprzedaży żywności. Do utworzenia tabeli przestawnej wymagane są dwa parametry. Pierwsza z nich to dane, które przekazaliśmy do dataframe, a druga to indeks.

Przestaw dane na indeksie

Indeks to funkcja tabeli przestawnej, która umożliwia grupowanie danych na podstawie wymagań. Tutaj przyjęliśmy „Produkt” jako indeks, aby utworzyć podstawową tabelę przestawną.

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
tabela_przestawna=pd.pivot_table(dataframe,index=["Produkt"])
drukuj(tabela_przestawna)

Poniższy wynik pokazuje po uruchomieniu powyższego kodu źródłowego:

Jawnie zdefiniuj kolumny

Aby uzyskać więcej analiz danych, wyraźnie zdefiniuj nazwy kolumn z indeksem. Na przykład chcemy wyświetlić jedyną cenę jednostkową każdego produktu w wyniku. W tym celu dodaj parametr wartości w tabeli przestawnej. Poniższy kod daje ten sam wynik:

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
tabela_przestawna=pd.tabela_przestawna(ramka danych, index='Produkt', values='CenaJednostkowa')
drukuj(tabela_przestawna)

Dane przestawne z wieloma indeksami

Dane mogą być grupowane na podstawie więcej niż jednej cechy jako indeks. Korzystając z podejścia wieloindeksowego, możesz uzyskać bardziej szczegółowe wyniki analizy danych. Na przykład produkty należą do różnych kategorii. Możesz więc wyświetlić indeks „Produkt” i „Kategoria” z dostępnymi „Ilość” i „Cena jednostkowa” każdego produktu w następujący sposób:

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
tabela_przestawna=pd.pivot_table(dataframe,index=["Kategoria","Produkt"],values=["CenaJednostkowa", "Ilość"])
drukuj(tabela_przestawna)

Stosowanie funkcji agregacji w tabeli przestawnej

W tabeli przestawnej aggfunc można zastosować do różnych wartości cech. Wynikowa tabela jest podsumowaniem danych cech. Funkcja agregująca dotyczy danych grupy w tabeli przestawnej. Domyślna funkcja agregująca to np.oznaczać(). Jednak w zależności od wymagań użytkownika różne funkcje agregujące mogą mieć zastosowanie do różnych funkcji danych.

Przykład:

W tym przykładzie zastosowaliśmy funkcje agregujące. Np.Funkcja sum() jest używana dla funkcji „Ilość” i np.funkcja mean() dla funkcji „Cena jednostkowa”.

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
tabela_przestawna=pd.pivot_table(dataframe,index=["Kategoria","Produkt"], aggfunc='Ilość': np.suma,'CenaJednostkowa': np.oznaczać)
drukuj(tabela_przestawna)

Po zastosowaniu funkcji agregacji dla różnych funkcji otrzymasz następujące dane wyjściowe:

Korzystając z parametru value, możesz również zastosować funkcję agregującą dla określonej funkcji. Jeśli nie określisz wartości cechy, agreguje ona cechy liczbowe Twojej bazy danych. Postępując zgodnie z podanym kodem źródłowym, możesz zastosować funkcję agregującą dla określonej funkcji:

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
tabela_przestawna=pd.tabela_przestawna(ramka danych, index=['Produkt'], values=['CenaJednostkowa'], aggfunc=np.oznaczać)
drukuj(tabela_przestawna)

Różnice między wartościami a. Kolumny w tabeli przestawnej

Wartości i kolumny są głównym mylącym punktem w tabeli_przestawnej. Należy pamiętać, że kolumny są polami opcjonalnymi, wyświetlającymi wartości wynikowej tabeli w poziomie u góry. Funkcja agregacji aggfunc dotyczy pola wartości, które wypisujesz.

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
tabela_przestawna=pd.pivot_table(dataframe,index=['Kategoria','Produkt', 'Miasto'],values=['CenaJednostkowa', 'Ilość'],
kolumny=['Region'],aggfunc=[np.suma])
drukuj(tabela_przestawna)

Obsługa brakujących danych w tabeli przestawnej

Możesz również obsłużyć brakujące wartości w tabeli przestawnej, używając „wartość_wypełnienia” Parametr. Pozwala to na zastąpienie wartości NaN jakąś nową wartością, którą podajesz do wypełnienia.

Na przykład usunęliśmy wszystkie wartości null z powyższej tabeli wynikowej, uruchamiając następujący kod i zamieniając wartości NaN na 0 w całej tabeli wynikowej.

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx')
tabela_przestawna=pd.pivot_table(dataframe,index=['Kategoria','Produkt', 'Miasto'],values=['CenaJednostkowa', 'Ilość'],
kolumny=['Region'],aggfunc=[np.suma], wartość_wypełnienia=0)
drukuj(tabela_przestawna)

Filtrowanie w tabeli przestawnej

Po wygenerowaniu wyniku możesz zastosować filtr, korzystając ze standardowej funkcji dataframe. Weźmy przykład. Filtruj te produkty, których cena jednostkowa jest mniejsza niż 60. Wyświetla te produkty, których cena jest mniejsza niż 60.

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx', index_col=0)
tabela_przestawna=pd.tabela_przestawna(ramka danych, index='Produkt', values='CenaJednostkowa', aggfunc='suma')
low_price=pivot_tble[pivot_tble['CenaJednostkowa'] < 60]
drukuj(niska_cena)

Korzystając z innej metody zapytania, możesz filtrować wyniki. Na przykład, na przykład przefiltrowaliśmy kategorię plików cookie na podstawie następujących funkcji:

importuj pandy jako PD
importuj numer jako np
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx', index_col=0)
tabela_przestawna=pd.pivot_table(dataframe,index=["Kategoria","Miasto","Region"],values=["CenaJednostkowa", "Ilość"],aggfunc=np.suma)
pt=tabela_przestawna.query('Kategoria == ["Pliki cookie"]')
drukuj(pt)

Wynik:

Wizualizuj dane tabeli przestawnej

Aby zwizualizować dane tabeli przestawnej, wykonaj następującą metodę:

importuj pandy jako PD
importuj numer jako np
importuj bibliotekę matplotlib.pyplot jako plt
ramka danych = pd.read_excel('C:/Użytkownicy/DELL/Pulpit/dane sprzedaży żywności.xlsx', index_col=0)
tabela_przestawna=pd.pivot_table(dataframe,index=["Kategoria","Produkt"],values=["CenaJednostkowa"])
tabela_przestawna.działka(rodzaj='bar');
plt.pokazać()

Na powyższej wizualizacji pokazaliśmy ceny jednostkowe różnych produktów wraz z kategoriami.

Wniosek

Zbadaliśmy, w jaki sposób można wygenerować tabelę przestawną z ramki danych za pomocą Pythona Pandas. Tabela przestawna umożliwia generowanie głębokich wglądów w zbiory danych. Widzieliśmy, jak wygenerować prostą tabelę przestawną za pomocą wielu indeksów i zastosować filtry w tabelach przestawnych. Co więcej, pokazaliśmy również, jak rysować dane tabeli przestawnej i uzupełniać brakujące dane.

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...