CodeGym /Kursy /Python SELF PL /Przygotowanie danych do raportów za pomocą metod pandas

Przygotowanie danych do raportów za pomocą metod pandas

Python SELF PL
Poziom 28 , Lekcja 3
Dostępny

1. Strukturyzacja danych do raportów

Kiedy tworzysz raport, ważne jest, aby nie tylko przedstawić mnóstwo danych w ładnym opakowaniu, ale również sprawić, by informacje były zrozumiałe i dostępne. Przygotowanie danych bezpośrednio wpływa na to, jak łatwo i szybko zostanie odebrany Twój raport.

Tabele przestawne: szwajcarski scyzoryk raportowy

Tabele przestawne to potężny sposób na sumowanie, agregowanie i przedstawianie danych, który często wykorzystywany jest w Excelu. W pandas możemy łatwo tworzyć tabele przestawne za pomocą metody pivot_table. Spójrzmy na prosty przykład.

Wyobraź sobie, że masz dane o sprzedaży w sklepie:

Python

import pandas as pd

data = {
    'Produkt': ['Pomarańcza', 'Jabłko', 'Banan', 'Pomarańcza', 'Banan', 'Jabłko'],
    'Miesiąc': ['Styczeń', 'Styczeń', 'Styczeń', 'Luty', 'Luty', 'Luty'],
    'Sprzedaż': [150, 200, 250, 130, 180, 210]
}

df = pd.DataFrame(data)

Aby stworzyć tabelę przestawną, która pokaże całkowitą sumę sprzedaży każdego produktu za każdy miesiąc, używamy pivot_table.

Python

pivot_df = df.pivot_table(values='Sprzedaż', index='Produkt', columns='Miesiąc', aggfunc='sum')
print(pivot_df)

Ten prosty przykład pokazuje, jak szybko można agregować dane według kategorii i dat — idealna podstawa do raportów.

2. Wykorzystanie metod pandas do przygotowania danych

Metoda pivot_table

Metoda pivot_table jest niezwykle elastyczna i pozwala nie tylko sumować dane, ale także stosować inne funkcje agregujące, takie jak mean, count itp. Przyjrzyjmy się, jak rozwinąć dane, aby pokazać średnią wartość sprzedaży:

Python

pivot_mean_df = df.pivot_table(values='Sprzedaż', index='Produkt', columns='Miesiąc', aggfunc='mean')
print(pivot_mean_df)

Metoda crosstab

Metoda crosstab w pandas przypomina tabele przestawne, ale jest używana do częstotliwości obliczeń. Wyobraź sobie, że chcemy policzyć, ile razy każdy produkt był sprzedawany w różnych miesiącach:

Python

cross_df = pd.crosstab(df['Produkt'], df['Miesiąc'])
print(cross_df)

Ta metoda jest przydatna, gdy trzeba zbadać rozkład danych w kategoriach lub przeanalizować częstotliwość zdarzeń.

3. Dostosowanie wyświetlania danych za pomocą indeksów wielowymiarowych

Indeksy wielowymiarowe

Tak, pandas pozwala Ci wyjść poza dwuwymiarowe dane i używać indeksów wielowymiarowych. Jest to przydatne do prezentowania danych z kilkoma poziomami agregacji. Na przykład, dodajmy "Rok" do naszego zestawu danych i stwórzmy indeks wielowymiarowy.

Python

data['Rok'] = [2023, 2023, 2023, 2024, 2024, 2024]
df = pd.DataFrame(data)

multi_pivot_df = df.pivot_table(values='Sprzedaż', index=['Rok', 'Produkt'], columns='Miesiąc', aggfunc='sum')
print(multi_pivot_df)

Teraz nasze dane są zagregowane według lat i produktów, co czyni je bardziej informacyjnymi.

4. Praktyka i analiza

Przeanalizujmy to, czego się nauczyliśmy. Zadanie: przygotowanie danych do raportu o sprzedaży.

Wyobraź sobie, że masz następujące dane o sprzedaży:

Python

data = {
    'Produkt': ['Pomarańcza', 'Pomarańcza', 'Jabłko', 'Jabłko', 'Banan', 'Banan'],
    'Miesiąc': ['Styczeń', 'Luty', 'Styczeń', 'Luty', 'Styczeń', 'Luty'],
    'Rok': [2023, 2023, 2024, 2024, 2023, 2024],
    'Sprzedaż': [150, 200, 180, 220, 120, 130]
}

df = pd.DataFrame(data)

Twoje zadanie — stworzyć tabelę przestawną, która pokaże całkowitą sumę sprzedaży dla każdego produktu za każdy miesiąc, łącznie z sumarycznymi danymi za lata.

Python

pivot_total_df = df.pivot_table(values='Sprzedaż', index=['Rok', 'Produkt'], columns='Miesiąc', aggfunc='sum', margins=True, margins_name='Razem')
print(pivot_total_df)

Ten wiersz „Razem” pokaże sumę dla wszystkich kategorii, co często jest niezbędne dla pełnego przeglądu.

5. Dyskusja nad strategiami prezentacji danych i analizy

Przygotowanie danych do raportów za pomocą pandas to nie tylko matematyka, ale także sztuka. Ważną częścią tego procesu jest wybór najbardziej informacyjnego sposobu prezentacji danych, czy to w postaci prostych tabel sumarycznych, czy skomplikowanych wykresów. W życiu codziennym takie strukturyzowanie pomaga nie tylko zrozumieć bieżące wskaźniki, ale także podejmować świadome decyzje. Prawdopodobnie znajdziesz się w roli magika, który zamienia nudne ciągi liczb w przejrzysty obraz.

Jeśli chcesz stać się mistrzem w zautomatyzowanym przygotowywaniu raportów, nie zapominaj o możliwościach pandas i nie bój się eksperymentować z różnymi metodami i technikami. Ta umiejętność będzie przydatna nie tylko w tworzeniu analiz, ale także podczas rozmów kwalifikacyjnych i w Twojej przyszłej karierze. Śmiało zanurz się w świecie danych i spraw, aby Twoje raporty były przejrzyste, informacyjne i łatwe do przyswojenia!

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION