Jak analizować dane w Pythonie z pandas i matplotlib – przewodnik dla początkujących

Poznaj podstawy analizy danych w Pythonie z użyciem bibliotek pandas i matplotlib. Idealny przewodnik dla początkujących analityków danych.
23 kwietnia 2025
blog

Wprowadzenie do analizy danych w Pythonie

Analiza danych to proces przekształcania surowych informacji w użyteczne wnioski, który znajduje zastosowanie w niemal każdej dziedzinie — od biznesu i finansów po naukę i technologię. Python, dzięki swojej prostocie oraz bogatemu ekosystemowi bibliotek, stał się jednym z najpopularniejszych języków programowania wykorzystywanych do analizy danych.

Dwie z najczęściej stosowanych bibliotek w tym obszarze to pandas i matplotlib. Pandas służy głównie do manipulacji i przetwarzania danych — pozwala wygodnie pracować z tabelami, filtrować dane, sortować je, grupować oraz obliczać statystyki opisowe. Z kolei matplotlib umożliwia tworzenie różnego rodzaju wykresów, co pozwala lepiej zrozumieć dane i wizualnie przedstawić wyniki analiz.

Typowy proces analizy danych w Pythonie obejmuje kilka kroków:

  • Wczytanie i przygotowanie danych (np. z pliku CSV)
  • Wstępne zapoznanie się z danymi: przegląd kolumn, typów danych i braków
  • Podstawowe operacje na danych: filtrowanie, sortowanie, grupowanie
  • Wizualizacja danych za pomocą wykresów
  • Formułowanie wniosków na podstawie obserwacji

Środowisko Python oferuje intuicyjne narzędzia, które pozwalają początkującym użytkownikom szybko rozpocząć pracę z danymi, nie wymagając zaawansowanej wiedzy programistycznej. W kolejnych częściach przewodnika krok po kroku przeprowadzimy przez najważniejsze elementy pracy z pandas i matplotlib, pokazując jak analizować dane w sposób efektywny i przystępny.

Instalacja i przygotowanie środowiska pracy

Aby rozpocząć analizę danych w Pythonie z wykorzystaniem bibliotek pandas i matplotlib, potrzebujemy odpowiednio przygotowanego środowiska programistycznego. Python to elastyczny i popularny język programowania, który oferuje wiele narzędzi do pracy z danymi. W tej sekcji skupimy się na instalacji niezbędnego oprogramowania oraz skonfigurowaniu środowiska do pracy.

Najprostszym i najbardziej zalecanym sposobem na rozpoczęcie pracy z Pythonem jest użycie dystrybucji Anaconda. Zawiera ona zarówno Pythona, jak i najważniejsze biblioteki do analizy danych, w tym pandas i matplotlib. Alternatywnie, można zainstalować Pythona ręcznie z oficjalnej strony i samodzielnie doinstalować potrzebne pakiety.

Do instalacji bibliotek służy narzędzie pip, które standardowo dołączone jest do Pythona. Po zainstalowaniu Pythona można uruchomić terminal systemowy i wpisać polecenia instalujące potrzebne narzędzia. Przykładowe polecenie instalujące pandas i matplotlib wygląda następująco:

pip install pandas matplotlib

Kolejnym krokiem jest wybór środowiska do pisania kodu. Początkującym użytkownikom poleca się Jupyter Notebook, który oferuje interaktywny sposób pracy i pozwala łatwo łączyć kod z opisem analiz. Jeśli korzystasz z Anacondy, Jupyter Notebook jest już zainstalowany. Alternatywą może być też Visual Studio Code z odpowiednimi rozszerzeniami lub inne edytory obsługujące Pythona.

Podsumowując, aby przygotować środowisko analizy danych:

  • Zainstaluj Pythona lub Anacondę
  • Zainstaluj potrzebne biblioteki: pandas i matplotlib
  • Wybierz środowisko pracy, np. Jupyter Notebook lub edytor tekstowy z obsługą Pythona

Po wykonaniu tych kroków będziesz gotowy, by rozpocząć pracę z danymi w Pythonie.

Wczytywanie danych z użyciem pandas

Podstawowym krokiem w analizie danych jest ich wczytanie do programu. W Pythonie najczęściej używaną biblioteką do tego celu jest pandas, która pozwala łatwo załadować dane z różnych źródeł do struktur takich jak DataFrame – dwuwymiarowych tabel przypominających arkusze kalkulacyjne.

Najczęściej spotykane formaty danych, z którymi pracujemy, to:

  • CSV (Comma-Separated Values) – prosty format tekstowy, szeroko stosowany do przechowywania danych tabelarycznych.
  • Excel (.xls, .xlsx) – popularny format arkuszy kalkulacyjnych.
  • JSON – format tekstowy wykorzystywany do przechowywania danych hierarchicznych lub złożonych struktur.

Poniżej znajduje się krótka tabela porównująca podstawowe funkcje biblioteki pandas służące do wczytywania danych:

Źródło danych Funkcja pandas Opis
Plik CSV read_csv() Najczęściej używana funkcja do ładowania danych z plików tekstowych rozdzielanych przecinkami.
Plik Excel read_excel() Obsługuje pliki .xls i .xlsx; wymaga zewnętrznych bibliotek jak openpyxl lub xlrd.
Plik JSON read_json() Umożliwia wczytanie danych w formacie JSON jako struktury tabelarycznej.

Przykład prostego wczytania danych z pliku CSV:

import pandas as pd

df = pd.read_csv("dane.csv")
print(df.head())

W powyższym kodzie plik dane.csv zostaje załadowany do zmiennej df, a następnie wyświetlonych zostaje pierwszych kilka wierszy danych.

Warto zaznaczyć, że już na etapie wczytywania danych pandas umożliwia podstawowe przekształcenia, takie jak określenie nagłówków, wybór separatora, czy filtrowanie kolumn. Szczegóły tych funkcji będą omawiane w późniejszych częściach. Jeśli chcesz rozwinąć swoje umiejętności pracy z danymi w Pythonie, sprawdź także Kurs Python - praktyczne wykorzystanie Pythona do analizy danych i automatyzacji.

Eksploracja danych: podstawowe statystyki, filtrowanie i grupowanie

Po wczytaniu zbioru danych do obiektu DataFrame w bibliotece pandas, kolejnym krokiem jest jego eksploracja. Ten etap pozwala zrozumieć strukturę, rozkład i zależności w danych, zanim przejdziemy do ich wizualizacji czy dalszej analizy. W tej sekcji omówimy trzy podstawowe techniki eksploracji: wyliczanie statystyk opisowych, filtrowanie oraz grupowanie danych.

Podstawowe statystyki

Statystyki opisowe pozwalają szybko zorientować się w rozkładzie danych liczbowych. Funkcja describe() automatycznie generuje szereg miar statystycznych (średnią, odchylenie standardowe, kwartyle itd.) dla kolumn numerycznych:

df.describe()

Dla pojedynczych kolumn można także używać funkcji takich jak mean(), median(), min(), max() czy std().

Filtrowanie danych

Filtrowanie polega na wybieraniu wierszy spełniających określone warunki. Jest to niezwykle przydatne, gdy chcemy zawęzić analizę do konkretnego podzbioru danych. Przykład:

df[df["wiek"] > 30]

Filtrowanie można łączyć za pomocą operatorów logicznych, takich jak & (oraz) czy | (lub):

df[(df["wiek"] > 30) & (df["płeć"] == "K")]

Grupowanie danych

Grupowanie pozwala analizować dane w podziale na kategorie. Najczęściej używana metoda to groupby(), która umożliwia obliczanie statystyk w ramach grup:

df.groupby("płeć")["wynik"].mean()

Powyższy kod oblicza średni wynik dla każdej grupy płci. Grupowanie można łączyć z wieloma kolumnami i różnymi agregatami, np.:

df.groupby(["płeć", "region"])["dochód"].sum()

Porównanie metod

Technika Zastosowanie Typowe funkcje
Statystyki opisowe Szybki przegląd danych liczbowych describe(), mean(), std(), median()
Filtrowanie Wybór podzbioru danych df[warunek]
Grupowanie Agregacja według kategorii groupby(), agg()

Eksploracja danych to fundament skutecznej analizy. Dzięki niej możemy nie tylko poznać nasze dane, ale także przygotować je do dalszego przetwarzania i wizualizacji.

Tworzenie prostych wykresów za pomocą matplotlib

Wizualizacja danych to kluczowy element analizy danych – pozwala szybko dostrzec zależności, trendy i nieprawidłowości. W Pythonie jedną z najczęściej używanych bibliotek do tworzenia wykresów jest matplotlib. Dzięki niej możemy przedstawić dane liczbowo w formie graficznej, co ułatwia interpretację.

matplotlib oferuje wiele rodzajów wykresów, z których najczęściej stosowane to:

  • Wykres liniowy (line chart) – idealny do przedstawiania zmian wartości w czasie.
  • Wykres słupkowy (bar chart) – stosowany do porównywania wartości między kategoriami.
  • Histogram – wykorzystywany do analizy rozkładu danych liczbowych.
  • Wykres kołowy (pie chart) – używany do pokazania udziału procentowego poszczególnych kategorii w całości.

Poniższa tabela przedstawia podstawowe różnice i zastosowania wybranych typów wykresów:

Typ wykresu Zastosowanie Przykład funkcji
Liniowy Śledzenie zmian w czasie plt.plot()
Słupkowy Porównanie kategorii plt.bar()
Histogram Rozkład danych liczbowych plt.hist()
Kołowy Udział procentowy kategorii plt.pie()

Aby rozpocząć wizualizację, należy zaimportować bibliotekę i utworzyć podstawowy wykres. Oto prosty przykład wykresu liniowego:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y)
plt.title("Wzrost wartości")
plt.xlabel("Czas")
plt.ylabel("Wartość")
plt.show()

W kolejnych krokach można dostosować kolory, style linii, dodać legendy czy siatkę, ale na początku warto skupić się na zrozumieniu, jak dane są prezentowane w wykresach i jakie typy najlepiej pasują do danego rodzaju analizy. Jeśli chcesz nauczyć się więcej i pogłębić wiedzę praktyczną z zakresu wizualizacji danych w Pythonie, sprawdź nasze szkolenie z analizy danych w Pythonie. Dodatkowo zachęcamy do zakupu Kursu Python - kompleksowa analiza danych w Pythonie z wykorzystaniem bibliotek Pandas, NumPy, Matplotlib i Scikit-Learn, który pozwoli Ci rozwinąć praktyczne umiejętności pracy z danymi.

matplotlib to potężne narzędzie, które – mimo swojej prostoty na początku – oferuje ogromne możliwości personalizacji wykresów, dzięki czemu każda wizualizacja może zostać dopasowana do konkretnych potrzeb analitycznych.

Interpretacja wyników i wnioski

Po przeprowadzeniu analizy danych przy użyciu biblioteki pandas i wizualizacji z wykorzystaniem matplotlib, kluczowym etapem jest umiejętna interpretacja uzyskanych wyników. To właśnie w tym momencie dane zaczynają opowiadać swoją historię — pokazują trendy, zależności i potencjalne problemy, które mogą wymagać dalszej analizy lub działań.

W analizie danych wyróżniamy dwa główne typy rezultatów:

  • Wyniki statystyczne – np. średnie, mediany, odchylenia standardowe, które pomagają zrozumieć rozkład i charakterystykę danych.
  • Wizualizacje – wykresy liniowe, słupkowe czy histogramy, które umożliwiają szybkie dostrzeżenie wzorców i anomalii.

Poniżej znajduje się uproszczona tabela pomagająca zrozumieć, kiedy używać danego narzędzia:

Narzędzie Zastosowanie
pandas Analiza struktury danych, obliczenia statystyczne, filtrowanie, grupowanie
matplotlib Wizualne przedstawienie danych, wykrywanie trendów i zależności

Przykład: jeśli dane sprzedażowe pokazują, że średnia dzienna sprzedaż jest wyższa w piątki, ale wykres ujawnia wyjątkowo wysoką wartość tylko w jeden konkretny piątek, może to oznaczać nietypowe zdarzenie – np. promocję. Dzięki połączeniu analizy statystycznej i wizualnej możemy to dostrzec.

import pandas as pd
import matplotlib.pyplot as plt

# Przykładowe dane
sales = pd.DataFrame({
    'day': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
    'value': [200, 220, 210, 205, 300]
})

# Obliczenie średniej
average = sales['value'].mean()

# Wizualizacja
plt.bar(sales['day'], sales['value'])
plt.axhline(average, color='red', linestyle='--', label='Średnia')
plt.legend()
plt.show()

Interpretacja wyników to nie tylko odczyt liczb czy wykresów, ale także umiejętność zadawania właściwych pytań: Dlaczego wartość wzrosła?, Co może tłumaczyć nagły spadek?, Jakie działania można podjąć na podstawie tych informacji?

Wnioski wyciągnięte z danych umożliwiają podejmowanie bardziej świadomych decyzji — niezależnie od tego, czy chodzi o optymalizację biznesową, analizę trendów czy lepsze zrozumienie procesów.

Podsumowanie i dalsze kroki

Analiza danych w Pythonie staje się coraz bardziej popularna dzięki prostocie i elastyczności bibliotek takich jak pandas i matplotlib. Dla początkujących te narzędzia oferują przystępny sposób na rozpoczęcie pracy z danymi — zarówno tymi zapisanymi lokalnie, jak i pochodzącymi z zewnętrznych źródeł.

Pandas umożliwia wygodne wczytywanie, filtrowanie i przekształcanie danych w formacie tabelarycznym, przypominającym arkusz kalkulacyjny. Z kolei matplotlib pozwala na wizualizację danych, co jest kluczowe dla zrozumienia trendów, wzorców i anomalii w danych.

W tej serii krok po kroku zapoznasz się z podstawami analizy danych — od przygotowania środowiska pracy, przez eksplorację danych, aż po tworzenie prostych wykresów. Chociaż początki mogą wydawać się wymagające, regularna praktyka pozwoli Ci szybko nabrać pewności i swobody w pracy z danymi.

Dzięki umiejętnemu wykorzystaniu pandas i matplotlib będziesz w stanie nie tylko analizować dane, ale też prezentować wyniki w sposób czytelny i zrozumiały — co jest nieocenione w codziennej pracy analityka, badacza czy programisty.

Krok 7: Najlepsze źródła do dalszej nauki i rozwijania umiejętności

Analiza danych w Pythonie to rozległa i dynamicznie rozwijająca się dziedzina. Jeśli chcesz pogłębić swoją wiedzę i umiejętności w pracy z bibliotekami pandas oraz matplotlib, warto sięgnąć po sprawdzone źródła edukacyjne. Poniżej znajdziesz listę rekomendowanych materiałów, które mogą pomóc Ci w dalszym rozwoju.

  • Oficjalna dokumentacja: Najlepszym punktem wyjścia jest dokumentacja bibliotek pandas i matplotlib. Znajdziesz tam szczegółowe opisy funkcji oraz liczne przykłady zastosowań.
  • Kursy online: Platformy takie jak Coursera, Udemy, edX czy DataCamp oferują kursy o różnym poziomie zaawansowania – od wprowadzenia do analizy danych po zaawansowane techniki modelowania i wizualizacji.
  • Książki: Tytuły takie jak "Python for Data Analysis" autorstwa Wes’a McKinney’ego (twórcy pandas) to świetny wybór dla osób, które preferują naukę w bardziej uporządkowanej i szczegółowej formie.
  • Społeczności i fora: W serwisach takich jak Stack Overflow, Reddit (np. r/learnpython, r/datascience) czy grupy na Discordzie możesz uzyskać pomoc, znaleźć inspirację do projektów lub podzielić się swoim doświadczeniem.
  • Praktyczne projekty: Strony takie jak Kaggle czy GitHub oferują dostęp do rzeczywistych zestawów danych i projektów open source, które pozwalają ćwiczyć umiejętności w praktyce.

Regularna praktyka i kontakt ze społecznością to klucz do efektywnego rozwoju jako analityk danych. Wybierz metodę nauki, która najbardziej Ci odpowiada i stopniowo poszerzaj swoje kompetencje.

icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments