Dzisiejsza lekcja wprowadza Cię w potężne narzędzie do analizy danych w Pythonie: bibliotekę Pandas. Nauczysz się, jak wczytywać, przetwarzać i eksplorować dane, przygotowując je do dalszej analizy i modelowania.
Pandas to biblioteka Python, która dostarcza nam wydajnych struktur danych i narzędzi do analizy danych. Jest fundamentem dla wielu zadań w Data Science. Kluczowymi strukturami są:
Zanim zaczniemy, musisz zainstalować Pandas. Otwórz terminal i wpisz: pip install pandas
. Następnie, w swoim skrypcie Python, zaimportuj bibliotekę:
import pandas as pd
# Konwencja: 'pd' to standardowy alias dla Pandas
Pandas pozwala na wczytywanie danych z wielu źródeł. Najpopularniejsze to pliki CSV i Excel.
CSV:
df = pd.read_csv('dane.csv') # Wczytuje dane z pliku 'dane.csv'
print(df.head()) # Wyświetla pierwsze 5 wierszy DataFrame
Excel:
df = pd.read_excel('dane.xlsx', sheet_name='Arkusz1') # Wczytuje z konkretnego arkusza
print(df.head())
Upewnij się, że plik 'dane.csv' lub 'dane.xlsx' znajduje się w tym samym katalogu co Twój skrypt (lub podaj pełną ścieżkę). Zauważ użycie head()
– bardzo przydatne do szybkiego przeglądu danych!
Pandas oferuje szereg funkcji do manipulacji danymi. Oto kilka przykładów:
df.info()
: Podaje informacje o typach danych i brakujących wartościach.df.describe()
: Generuje statystyki opisowe dla kolumn numerycznych.df['NazwaKolumny']
: Wybiera pojedynczą kolumnę jako Series.df[['Kolumna1', 'Kolumna2']]
: Wybiera kilka kolumn jako DataFrame.df[df['Kolumna'] > 10]
: Filtruje wiersze, gdzie wartość w kolumnie 'Kolumna' jest większa niż 10.df.sort_values(by='Kolumna')
: Sortuje wiersze według wartości w kolumnie 'Kolumna'.df['Kolumna'].sum()
: Suma wartości w kolumnie.df['Kolumna'].mean()
: Średnia wartości w kolumnie.df.groupby('Kolumna').sum()
: Grupowanie danych według kolumny i obliczanie sumy dla każdej grupy.Explore advanced insights, examples, and bonus exercises to deepen understanding.
Witamy ponownie! Wczoraj poznaliście podstawy biblioteki Pandas. Dziś zagłębimy się w bardziej zaawansowane techniki, które pozwolą Wam na efektywniejszą pracę z danymi i lepsze zrozumienie ich struktury. Pamiętajcie, że Pandas to jak szwajcarski scyzoryk dla analityka danych – im więcej znacie jego funkcji, tym potężniejsze narzędzie macie w ręku!
Przejdźmy teraz do bardziej zaawansowanych aspektów pracy z Pandas, które usprawnią Waszą analizę danych:
W prawdziwym świecie dane rzadko są idealne. Często napotkacie brakujące wartości (NaN - Not a Number). Pandas oferuje solidne metody do ich obsługi:
.isnull()
i .notnull()
: Służą do wykrywania brakujących i istniejących danych..fillna(value)
: Wypełnia brakujące wartości określoną wartością (np. średnią, medianą, zerem). df['kolumna'].fillna(df['kolumna'].mean(), inplace=True)
.dropna()
: Usuwa wiersze lub kolumny zawierające brakujące dane. Uwaga: Używaj z rozwagą, aby nie utracić cennych informacji.Przykład: Wyobraźcie sobie analizę danych dotyczących ocen studentów, gdzie niektóre oceny nie zostały jeszcze wprowadzone. Obsługa NaN jest kluczowa dla prawidłowej analizy.
groupby()
i agg()
)groupby()
pozwala na grupowanie danych na podstawie jednej lub wielu kolumn. Następnie, używając agg()
, możemy wykonać agregacje (np. sumę, średnią, minimum) na poszczególnych grupach. To potężne narzędzie do analizy trendów i zależności.
Przykład: Chcemy obliczyć średnią ocen studentów dla każdego kierunku studiów. Wykorzystamy groupby('kierunek')
, a następnie agg({'ocena': 'mean'})
.
Pamiętajcie: agg()
akceptuje słownik, gdzie kluczem jest nazwa kolumny do agregacji, a wartością – nazwa funkcji agregującej (np. 'mean', 'sum', 'count').
merge()
, concat()
)Często dane są rozproszone w wielu plikach lub tabelach. Pandas oferuje funkcje do ich łączenia:
merge()
: Łączy dwa DataFrame'y na podstawie kolumny (lub kolumn) klucza, podobnie jak w SQL. Umożliwia różne typy połączeń (inner, outer, left, right).concat()
: Konkatenuje (łączy) DataFrame'y wzdłuż osi (wierszy lub kolumn). Przydatne, gdy mamy dane w wielu plikach CSV, które chcemy połączyć w jeden DataFrame.Przykład: Łączenie tabeli z informacjami o studentach z tabelą z wynikami egzaminów, aby uzyskać pełny obraz.
Przejdźmy teraz do praktyki. Wykonajcie poniższe zadania, aby utrwalić zdobytą wiedzę:
Utwórzcie DataFrame z danymi zawierającymi brakujące wartości (np. NaN). Następnie:
.isnull()
, aby zidentyfikować brakujące dane.Wczytajcie przykładowy dataset (np. dane o sprzedaży, oceny filmów). Następnie:
Zastosowanie Pandas w prawdziwym świecie jest ogromne. Przykłady:
W Polsce, Pandas jest używany zarówno w korporacjach (np. banki, firmy ubezpieczeniowe, e-commerce), jak i w sektorze publicznym (np. analiza danych statystycznych, badania naukowe).
Jeśli czujecie się na siłach, spróbujcie wykonać poniższe zadania:
chunksize
).pivot_table()
do stworzenia tabeli przestawnej, podsumowującej dane z DataFrame.Chcecie dowiedzieć się więcej? Polecamy następujące materiały:
Pamiętajcie, praktyka czyni mistrza! Im więcej będziecie pracować z Pandas, tym lepiej opanujecie tę potężną bibliotekę. Powodzenia!
Pobierz plik CSV z danymi (np. o sprzedaży produktów – znajdziesz je w internecie). Wczytaj dane do DataFrame. Wyświetl pierwsze 10 wierszy.
Użyj `df.info()` i `df.describe()` na wczytanym DataFrame. Przeanalizuj wyniki. Jakie typy danych występują? Jakie są podstawowe statystyki dla kolumn numerycznych?
Wybierz z DataFrame kolumnę 'Cena' i wyświetl jej zawartość. Następnie, przefiltruj DataFrame, aby wyświetlić tylko te wiersze, gdzie 'Ilość' jest większa niż 5.
Pogrupuj dane według kolumny 'Kategoria' i oblicz sumę 'Cena' dla każdej kategorii. Użyj `groupby()` i `sum()`.
Wyobraź sobie, że pracujesz w sklepie internetowym. Masz plik CSV z danymi o zamówieniach (numer zamówienia, data, produkty, ceny, ilość, klient). Użyj Pandas, aby: 1. Wczytać dane. 2. Wyświetlić łączną sprzedaż dla każdego produktu. 3. Znaleźć 5 najczęściej kupowanych produktów. 4. Obliczyć średnią wartość zamówienia.
Przygotuj się na następną lekcję, która skupi się na czyszczeniu i przetwarzaniu danych (data cleaning and preprocessing). Przeglądnij podstawowe metody obsługi brakujących danych i formatowania danych.
We're automatically tracking your progress. Sign up for free to keep your learning paths forever and unlock advanced features like detailed analytics and personalized recommendations.