Pandas dla początkujących – jak analizować i filtrować dane w Pythonie?
Dowiedz się, jak rozpocząć pracę z biblioteką Pandas w Pythonie – od instalacji, przez filtrowanie danych, aż po wizualizację i agregację danych.
Artykuł przeznaczony dla osób początkujących i na poziomie podstawowym, które uczą się analizy danych w Pythonie i chcą poznać kluczowe funkcje biblioteki Pandas.
Z tego artykułu dowiesz się
- Jak zainstalować i zaimportować bibliotekę Pandas oraz do czego służą struktury DataFrame i Series?
- Jak wczytywać dane z plików CSV, Excel, JSON i baz SQL do DataFrame?
- Jak wykonywać podstawowe operacje na danych w Pandas: filtrowanie, modyfikacje kolumn, łączenie tabel, grupowanie, agregacje i proste wizualizacje?
Wprowadzenie do biblioteki Pandas
Pandas to jedna z najpopularniejszych bibliotek Pythona służąca do analizy i przetwarzania danych. Dzięki swojej prostocie oraz szerokim możliwościom, Pandas jest narzędziem wybieranym zarówno przez początkujących, jak i zaawansowanych analityków danych. Biblioteka ta pozwala w przejrzysty sposób manipulować danymi tabelarycznymi, które w Pandas przyjmują formę struktur zwanych DataFrame i Series.
Podstawową zaletą Pandas jest możliwość wygodnego przetwarzania danych pochodzących z różnych źródeł, takich jak pliki CSV, Excel, bazy danych czy dane z internetu. Umożliwia szybkie porządkowanie, filtrowanie, agregowanie oraz analizowanie dużych zbiorów danych w sposób znacznie bardziej intuicyjny niż w przypadku pracy z czystym Pythonem.
Pandas integruje się także z innymi popularnymi bibliotekami, takimi jak NumPy, Matplotlib czy Scikit-learn, co czyni ją centralnym elementem w ekosystemie narzędzi do analizy danych w Pythonie.
Najczęstsze zastosowania Pandas to:
- Wczytywanie i eksploracja danych
- Filtrowanie i selekcja informacji w zbiorach danych
- Porządkowanie i czyszczenie danych
- Grupowanie i agregowanie danych dla uzyskania statystyk
- Eksport danych do różnych formatów
Dzięki przejrzystej składni i funkcjom przypominającym działanie arkuszy kalkulacyjnych, Pandas pozwala na efektywną pracę z danymi bez potrzeby pisania dużej ilości kodu. To czyni ją idealnym narzędziem dla osób rozpoczynających swoją przygodę z analizą danych w Pythonie.
Instalacja i importowanie Pandas
Biblioteka Pandas to jedno z najważniejszych narzędzi w arsenale każdego analityka danych pracującego w Pythonie. Umożliwia wygodne przetwarzanie, analizowanie oraz filtrowanie danych w postaci tabelarycznej, a jej integracja z innymi popularnymi bibliotekami, takimi jak NumPy czy Matplotlib, czyni ją niezwykle wszechstronnym narzędziem.
Podczas szkoleń Cognity ten temat wraca regularnie – dlatego zdecydowaliśmy się go omówić również tutaj.
Aby rozpocząć pracę z Pandas, należy najpierw zainstalować bibliotekę. Najczęściej wykorzystuje się do tego menedżer pakietów pip, który pozwala szybko pobrać i zainstalować Pandas z oficjalnego repozytorium Pythona. Po zakończeniu instalacji, wystarczy zaimportować bibliotekę do swojego skryptu lub środowiska interaktywnego (np. Jupyter Notebook), aby móc korzystać z jej funkcjonalności.
Standardowa praktyka polega na importowaniu Pandas pod skrótem pd, co jest powszechnie akceptowaną konwencją w środowisku Python. Dzięki temu kod staje się bardziej czytelny i zwięzły, co ma szczególne znaczenie przy pracy z dużymi zbiorami danych.
Podsumowując, instalacja i importowanie Pandas to prosty, ale niezbędny krok, który otwiera drogę do efektywnego przetwarzania danych w Pythonie. W kolejnych etapach pracy biblioteka pozwoli na szybkie wczytywanie danych, ich filtrowanie, przekształcanie oraz analizowanie w sposób intuicyjny i wydajny.
Wczytywanie danych do DataFrame
Jednym z kluczowych zastosowań biblioteki Pandas jest możliwość łatwego wczytywania danych z różnych źródeł do struktury zwanej DataFrame. Jest to dwuwymiarowa tabela danych z nazwanymi kolumnami, która pozwala na wygodne przetwarzanie i analizę informacji.
Pandas obsługuje wiele popularnych formatów danych, w tym pliki tekstowe, arkusze kalkulacyjne oraz bazy danych. Poniżej przedstawiono najczęściej wykorzystywane metody wczytywania danych wraz z krótkim opisem:
| Format danych | Funkcja | Przykład zastosowania |
|---|---|---|
| CSV (wartości rozdzielane przecinkami) | pd.read_csv() |
pd.read_csv('dane.csv') |
| Excel | pd.read_excel() |
pd.read_excel('arkusz.xlsx') |
| JSON | pd.read_json() |
pd.read_json('dane.json') |
| Bazy danych SQL | pd.read_sql() |
pd.read_sql('SELECT * FROM tabela', conn) |
Oto prosty przykład wczytania danych z pliku CSV:
import pandas as pd
df = pd.read_csv('przykladowe_dane.csv')
print(df.head())
Po wczytaniu danych do obiektu DataFrame możemy rozpocząć ich eksplorację i analizę. W kolejnych krokach dowiemy się, jak wybierać konkretne kolumny, filtrować wiersze czy modyfikować dane, ale już na tym etapie mamy solidne fundamenty do pracy z danymi. Jeśli chcesz rozwinąć swoje umiejętności i poznać bardziej zaawansowane techniki analizy, sprawdź Kurs Python - kompleksowa analiza danych w Pythonie z wykorzystaniem bibliotek Pandas, NumPy, Matplotlib i Scikit-Learn.
Podstawowe operacje na DataFrame: filtrowanie, wybór kolumn i wierszy
Jednym z głównych atutów biblioteki Pandas jest łatwość manipulowania i przeglądania danych w strukturze zwanej DataFrame. Aby móc skutecznie analizować dane, warto opanować podstawowe operacje takie jak wybór kolumn, wierszy oraz filtrowanie danych według określonych warunków. Poniżej przedstawiamy najważniejsze różnice i zastosowania tych technik. Na szkoleniach Cognity pokazujemy, jak poradzić sobie z tym zagadnieniem krok po kroku – poniżej przedstawiamy skrót tych metod.
Wybór kolumn
Wybieranie kolumn z DataFrame pozwala skupić się tylko na interesujących nas aspektach danych. Można to zrobić za pomocą notacji klamrowej (nazwa kolumny w nawiasach kwadratowych):
df['nazwa_kolumny']
Dla wielu kolumn używamy listy nazw:
df[['kolumna1', 'kolumna2']]
Wybór wierszy
Wiersze w Pandas można wybierać na dwa podstawowe sposoby:
- Po pozycji: używając
iloc[], np.df.iloc[0]zwróci pierwszy wiersz. - Po etykiecie indeksu: używając
loc[], np.df.loc['A'], jeśli indeks zawiera etykiety tekstowe.
Filtrowanie danych
Filtrowanie polega na wydzieleniu tych wierszy, które spełniają określone warunki logiczne. Przykład:
df[df['wiek'] > 30]
Można łączyć warunki za pomocą operatorów logicznych & (i), | (lub), np.:
df[(df['wiek'] > 30) & (df['kraj'] == 'Polska')]
Porównanie technik
| Operacja | Metoda | Opis |
|---|---|---|
| Wybór jednej kolumny | df['kolumna'] |
Zwraca serię (Series) z wybranej kolumny |
| Wybór wielu kolumn | df[['kol1', 'kol2']] |
Zwraca nowy DataFrame z wybranymi kolumnami |
| Wybór wierszy po pozycji | df.iloc[n] |
Indeksowanie wierszy po numerze (0-based) |
| Wybór wierszy po etykiecie | df.loc['A'] |
Indeksowanie wierszy po nazwie etykiety |
| Filtrowanie danych | df[warunek] |
Zwraca tylko te wiersze, które spełniają dany warunek |
Znajomość tych podstawowych operacji to fundament efektywnej pracy z Pandas i przetwarzania danych w Pythonie. Umożliwiają one szybkie eksplorowanie i przygotowywanie danych do dalszej analizy.
Modyfikacja danych i operacje na kolumnach
W pracy z danymi bardzo często zachodzi potrzeba ich przekształcania – zmiany wartości, tworzenia nowych kolumn, a także usuwania lub zmiany typu danych. Biblioteka Pandas oferuje szereg intuicyjnych narzędzi, które umożliwiają te operacje w sposób prosty i czytelny.
Tworzenie i modyfikacja kolumn
Nowe kolumny w DataFrame można tworzyć na podstawie istniejących lub przypisując gotowe wartości. Modyfikacja kolumn odbywa się poprzez przypisanie nowych danych do istniejących nazw.
import pandas as pd
df = pd.DataFrame({
'Cena netto': [100, 200, 150],
'VAT': [0.23, 0.23, 0.08]
})
# Dodanie kolumny z ceną brutto
df['Cena brutto'] = df['Cena netto'] * (1 + df['VAT'])
Zmiana typów danych
Czasami dane wczytane z pliku mają nieprawidłowe typy, np. liczby jako tekst. Można je łatwo konwertować:
df['Cena netto'] = df['Cena netto'].astype(float)
Usuwanie kolumn i wierszy
Aby uprościć strukturę danych lub usunąć zbędne informacje, można usunąć określone kolumny lub wiersze. Służy do tego metoda drop():
# Usunięcie kolumny 'VAT'
df = df.drop('VAT', axis=1)
Przekształcanie danych w kolumnach
Typowym przypadkiem jest zastosowanie funkcji do wartości w kolumnie – np. zaokrąglanie, przekształcenie tekstu lub wykonanie operacji warunkowej:
# Zaokrąglenie cen do dwóch miejsc po przecinku
df['Cena brutto'] = df['Cena brutto'].round(2)
Porównanie typowych operacji
| Operacja | Opis | Przykład |
|---|---|---|
| Tworzenie nowej kolumny | Wyliczenie nowej wartości na podstawie innych kolumn | df['Nowa'] = df['A'] + df['B'] |
| Zmiana typu danych | Dostosowanie typu kolumny do potrzeb | df['A'] = df['A'].astype(int) |
| Usuwanie kolumn | Eliminacja zbędnych danych | df.drop('A', axis=1) |
| Przekształcenie wartości | Zmiana danych w kolumnie | df['A'] = df['A'].apply(np.log) |
Modyfikacja danych to jedna z najważniejszych umiejętności w pracy z Pandas. Umożliwia dostosowanie zestawu danych do konkretnych potrzeb analizy, upraszcza raportowanie i przygotowuje dane do dalszych kroków analitycznych. Jeśli chcesz pogłębić swoją wiedzę i nauczyć się praktycznego wykorzystania Pythona w analizie danych, sprawdź Kurs Python - praktyczne wykorzystanie Pythona do analizy danych i automatyzacji.
Łączenie, grupowanie i agregacja danych
W pracy z danymi często zachodzi potrzeba łączenia wielu źródeł informacji, grupowania rekordów według określonych kryteriów oraz wyciągania z nich zagregowanych wniosków. Biblioteka Pandas dostarcza wygodne narzędzia do realizacji tych zadań, pozwalając na efektywne przekształcanie i analizowanie danych w skali zarówno mikro, jak i makro.
Łączenie danych (ang. merging i joining)
Łączenie danych polega na zestawieniu dwóch lub więcej zbiorów danych według wspólnego klucza — podobnie jak w relacyjnych bazach danych. Pandas oferuje kilka metod:
- merge() – łączy dwa DataFrame’y na podstawie wspólnej kolumny lub indeksu, z kontrolą typu złączenia (inner, outer, left, right),
- concat() – łączy dane wzdłuż osi (pionowo lub poziomo), bez dopasowywania po kluczu,
- join() – uproszczona forma
merge(), działająca domyślnie na indeksach.
Przykład prostego połączenia dwóch tabel:
import pandas as pd
produkty = pd.DataFrame({
'id': [1, 2, 3],
'nazwa': ['Mleko', 'Chleb', 'Masło']
})
ceny = pd.DataFrame({
'id': [1, 2, 3],
'cena': [2.50, 3.00, 4.20]
})
wynik = pd.merge(produkty, ceny, on='id')
Grupowanie danych
Grupowanie pozwala przekształcić dane według wspólnych wartości w jednej lub kilku kolumnach — jest to fundament analizy kategorii, segmentacji oraz podsumowań.
Najczęściej używana funkcja to groupby(), która umożliwia wykonanie operacji zbiorczych na każdej z grup:
df.groupby('kategoria')['wartosc'].mean()
Powyższy zapis zwraca średnią wartość dla każdej grupy utworzonej na podstawie kolumny kategoria.
Agregacja danych
Agregacja to proces przekształcania zbiorów danych w formy bardziej zwięzłe i podsumowujące. Pandas udostępnia wiele funkcji agregujących, takich jak:
sum()– suma wartości,mean()– średnia,count()– liczba elementów,min(),max()– wartości minimalne i maksymalne,agg()– stosowanie wielu agregacji jednocześnie.
Porównanie możliwości:
| Operacja | Opis | Przykład funkcji |
|---|---|---|
| Łączenie | Scalanie danych z różnych źródeł | merge(), concat() |
| Grupowanie | Podział na kategorie według kolumn | groupby() |
| Agregacja | Podsumowanie danych liczbowych | sum(), mean(), agg() |
Łączenie, grupowanie i agregacja stanowią fundament analizy danych w Pandas i są niezwykle użyteczne w codziennej pracy z danymi. Te operacje pozwalają nie tylko scalać informacje z różnych źródeł, ale też wyciągać wartościowe wnioski z dużych zbiorów danych.
Podstawowe techniki wizualizacji danych z Pandas
Choć biblioteka Pandas służy głównie do manipulacji i analizy danych, oferuje również proste mechanizmy do ich wizualizacji. Dzięki wbudowanej integracji z biblioteką Matplotlib, Pandas pozwala szybko tworzyć podstawowe wykresy bez konieczności pisania dużej ilości kodu.
Wizualizacje w Pandas najczęściej wykorzystuje się do:
- Podglądu rozkładu danych – np. histogramy pozwalają zobaczyć, jak często występują określone wartości w zbiorze danych.
- Porównywania wartości – wykresy słupkowe umożliwiają porównanie danych między różnymi kategoriami.
- Śledzenia zmian w czasie – wykresy liniowe są przydatne, gdy analizujemy dane szeregów czasowych.
- Obserwacji relacji między zmiennymi – wykresy punktowe (scatter plot) pokazują zależności między dwiema kolumnami.
Tworzenie wykresów w Pandas opiera się na prostym wywołaniu metody plot() bezpośrednio na obiekcie DataFrame lub Series. To sprawia, że wizualizacja danych jest szybka i intuicyjna, co ułatwia ich interpretację i prezentację.
Podsumowanie i dalsze kroki
Biblioteka Pandas to potężne narzędzie do analizy danych w języku Python, które pozwala na łatwe i intuicyjne zarządzanie danymi tabelarycznymi. Dzięki strukturze DataFrame możliwe jest przeprowadzanie szerokiego zakresu operacji – od prostego filtrowania, przez transformacje, aż po złożone agregacje i analizy.
Pandas wyróżnia się spośród innych narzędzi do analizy danych przede wszystkim swoją przejrzystością oraz integracją z innymi popularnymi bibliotekami Pythona. Umożliwia sprawne przetwarzanie danych zarówno pochodzących z plików CSV czy Excel, jak i z baz danych czy zapytań internetowych. Jest powszechnie wykorzystywana w takich dziedzinach jak analiza biznesowa, nauka o danych, badania naukowe czy inżynieria danych.
Dzięki swojej elastyczności Pandas pozwala na szybkie przygotowanie danych do dalszej analizy, co czyni ją nieodzownym narzędziem w pracy każdego analityka czy programisty danych. Pierwsze kroki w pracy z tą biblioteką to zrozumienie jej podstawowych struktur i operacji, które stanowią fundament dla bardziej zaawansowanych zastosowań. Jeśli chcesz poznać więcej takich przykładów, zapraszamy na szkolenia Cognity, gdzie rozwijamy ten temat w praktyce.