Jak działa pandas pivot_table w języku Python? Przykład zastosowania

Jak działa pandas pivot_table w języku Python? Przykład zastosowania
„`html

Pracując z językiem Python i biblioteką pandas, często muszę przekształcać dane w różnych formatach, aby uzyskać przejrzyste podsumowania. Jednym z najpotężniejszych narzędzi w tej bibliotece jest funkcja pivot_table(), która pozwala na agregację i przekształcanie danych w czytelne tabele przestawne. W tym artykule pokażę, jak działa pandas pivot_table() oraz podam przykład jego zastosowania.

Co to jest pandas pivot_table()?

Funkcja pivot_table() w pandas umożliwia tworzenie tabel przestawnych, które pozwalają na grupowanie, agregowanie i reorganizowanie danych. Jest szczególnie przydatna, gdy chcę przekształcić dane w bardziej przejrzystą formę i zobaczyć wyniki w różnych przekrojach.

Podstawowa składnia pivot_table()

Składnia funkcji wygląda następująco:

pd.pivot_table(data, values, index, columns, aggfunc)

Gdzie:

  • data – DataFrame, na którym operuję.
  • values – kolumna (lub kolumny), które chcę agregować.
  • index – kolumna (lub kolumny), które będą wierszami tabeli przestawnej.
  • columns – kolumna, która stanie się kolumną podziału.
  • aggfunc – funkcja agregująca (np. mean, sum, count).

Przykładowe dane

Załóżmy, że mam poniższy DataFrame zawierający informacje o sprzedaży:

import pandas as pd

data = {
    'Kategoria': ['Elektronika', 'Elektronika', 'Dom', 'Dom', 'Dom', 'Elektronika'],
    'Produkt': ['Laptop', 'Smartfon', 'Odkurzacz', 'Pralka', 'Lodówka', 'Laptop'],
    'Sprzedane_sztuki': [5, 8, 10, 6, 7, 3],
    'Cena': [4000, 2500, 600, 1500, 2000, 4100]
}

df = pd.DataFrame(data)
print(df)

Co daje nam następującą tabelę:

Kategoria Produkt Sprzedane_sztuki Cena
Elektronika Laptop 5 4000
Elektronika Smartfon 8 2500
Dom Odkurzacz 10 600
Dom Pralka 6 1500
Dom Lodówka 7 2000
Elektronika Laptop 3 4100

Tworzenie tabeli przestawnej

Teraz użyję pivot_table(), aby zobaczyć średnią cenę produktów w każdej kategorii:

pivot = pd.pivot_table(df, values="Cena", index="Kategoria", aggfunc="mean")
print(pivot)

Wynikowy DataFrame wygląda tak:

Kategoria Cena (średnia)
Dom 1366.67
Elektronika 3525.00

Dodanie podziału na kategorie

Mogę dodać jeszcze jedną warstwę dla podziału na konkretne produkty:

pivot = pd.pivot_table(df, values="Sprzedane_sztuki", index="Kategoria", columns="Produkt", aggfunc="sum", fill_value=0)
print(pivot)

Co daje następujący wynik:

Kategoria Laptop Lodówka Odkurzacz Pralka Smartfon
Dom 0 7 10 6 0
Elektronika 8 0 0 0 8

Najważniejsze zalety pivot_table()

Funkcja pivot_table() wyróżnia się kilkoma kluczowymi cechami:

  • Pozwala na agregację wartości dla określonych grup danych.
  • Obsługuje wiele funkcji agregujących jednocześnie.
  • Umożliwia podział danych na różne kategorie.
  • Automatycznie obsługuje wartości brakujące (można je zastąpić fill_value).

Podsumowanie

Teraz wiem, jak działa pandas pivot_table() i jak można go używać do analizy danych. To potężne narzędzie, które pozwala w szybki sposób tworzyć czytelne podsumowania na podstawie dużych zbiorów informacji. Jeśli pracuję z danymi w Pythonie, znajomość tej funkcji jest absolutnie kluczowa.

„` Inny ciekawy artykuł: Jak działa pandas join w języku Python? Przykład zastosowania
KajoDataSpace