W drugiej lekcji eksploracyjnej analizy danych (EDA) skupimy się na podstawach biblioteki Pandas, potężnego narzędzia do manipulacji danymi w Pythonie. Nauczycie się wczytywać dane, przeglądać je, zrozumieć strukturę, a także filtrować, aby wyodrębniać interesujące fragmenty.
Pandas to biblioteka Pythona, która oferuje wysokowydajne struktury danych i narzędzia do analizy danych. Kluczową strukturą danych w Pandas jest DataFrame, który można sobie wyobrazić jako tabelę (arkusz kalkulacyjny) z wierszami i kolumnami. Aby użyć Pandas, musimy najpierw ją zaimportować: import pandas as pd
. Później będziemy używać 'pd' jako skrótu do odwoływania się do Pandas. Wczytujemy dane z pliku CSV, używając pd.read_csv('nazwa_pliku.csv')
. Na przykład, załóżmy, że mamy plik 'dane_sprzedazy.csv'. Użyjemy tego pliku w ćwiczeniach.
Podstawową funkcją do wczytywania danych jest pd.read_csv()
. Przykład: sprzedaz_df = pd.read_csv('dane_sprzedazy.csv')
. Jeżeli plik CSV ma nietypowy separator (np. średnik zamiast przecinka), można to określić parametrem sep
: pd.read_csv('dane_sprzedazy.csv', sep=';')
. Dla plików Excela używamy pd.read_excel('nazwa_pliku.xlsx')
. Pandas obsługuje również wiele innych formatów, takich jak JSON, HTML, SQL i wiele innych. Pamiętaj, aby umieścić plik z danymi w tym samym folderze co Twój skrypt Pythona, lub podać pełną ścieżkę dostępu do pliku.
Po wczytaniu danych warto je szybko przejrzeć. .head()
wyświetla domyślnie pięć pierwszych wierszy DataFrame: sprzedaz_df.head()
. .tail()
wyświetla pięć ostatnich wierszy: sprzedaz_df.tail()
. .info()
dostarcza informacji o DataFrame, takich jak liczba wierszy i kolumn, typy danych w kolumnach i informacje o brakujących wartościach: sprzedaz_df.info()
. Użyjemy również sprzedaz_df.shape
aby zobaczyć rozmiar DataFrame (liczba wierszy, liczba kolumn).
Filtrowanie danych to kluczowa umiejętność w EDA. Możemy filtrować dane na podstawie warunków logicznych. Na przykład, aby znaleźć wszystkie transakcje o wartości powyżej 100 zł, użyjemy: sprzedaz_df[sprzedaz_df['wartosc'] > 100]
. Możemy łączyć warunki za pomocą operatorów logicznych: &
(AND), |
(OR), ~
(NOT). Przykład: sprzedaz_df[(sprzedaz_df['wartosc'] > 100) & (sprzedaz_df['produkt'] == 'Kawa')]
wyświetli transakcje z kawą o wartości powyżej 100 zł.
Explore advanced insights, examples, and bonus exercises to deepen understanding.
Witamy na drugim dniu naszej przygody z eksploracyjną analizą danych! Dziś zagłębimy się w bibliotekę Pandas, ucząc się nie tylko podstaw, ale także bardziej zaawansowanych technik, które uczynią Was ekspertami w manipulacji danymi.
W poprzedniej lekcji nauczyliście się podstaw, takich jak wczytywanie danych i filtrowanie. Teraz odkryjemy kilka zaawansowanych technik, które pozwolą Wam na bardziej efektywną pracę z danymi:
groupby()
do grupowania danych na podstawie jednej lub kilku kolumn, a następnie zastosujemy funkcje agregujące, takie jak mean()
, sum()
, count()
, max()
i min()
. Na przykład, możemy obliczyć średnią cenę produktów pogrupowanych po kategorii.
import pandas as pd
# Załóżmy, że mamy DataFrame 'sprzedaz'
sprzedaz_pogrupowana = sprzedaz.groupby('kategoria')['cena'].mean()
print(sprzedaz_pogrupowana)
merge()
, join()
i concat()
. merge()
służy do łączenia DataFrame na podstawie wspólnych kolumn, join()
do łączenia na podstawie indeksu, a concat()
do łączenia wzdłuż osi (wiersze lub kolumny).
# Załóżmy, że mamy dwa DataFrame: 'zamowienia' i 'klienci'
polaczone_dane = pd.merge(zamowienia, klienci, on='id_klienta', how='left')
print(polaczone_dane.head())
fillna()
), usuwać wiersze z brakującymi danymi (dropna()
) lub interpolować wartości.
# Wypełnianie brakujących wartości średnią
dane.fillna(dane.mean(), inplace=True)
print(dane.isnull().sum()) # Sprawdzamy czy brakujące dane zostały wypełnione
Przetestuj swoją wiedzę! Poniżej znajdują się dodatkowe ćwiczenia, które pomogą Ci utrwalić zdobytą wiedzę:
Umiejętności zdobyte dzisiaj znajdują zastosowanie w wielu dziedzinach:
Wyobraź sobie, że pracujesz dla polskiego startupu, który chce zoptymalizować swoją strategię marketingową. Dzięki Pandas możesz analizować dane o klientach, identyfikować najbardziej wartościowych klientów i personalizować komunikację marketingową. A może pracujesz w firmie badawczej, gdzie analizujesz dane z badań rynku, takich jak popularność pierogów ruskich w różnych regionach Polski. Pandas to Twój najlepszy przyjaciel!
Jeśli czujesz się pewnie, spróbuj wykonać to zaawansowane zadanie:
Challenge: Stwórz skrypt, który wczytuje dane o cenach akcji z pliku CSV. Zastosuj filtr, aby wybrać tylko te akcje, których cena wzrosła o co najmniej 5% w ciągu tygodnia. Wykorzystaj funkcje resample()
do analizy trendów tygodniowych.
Chcesz dowiedzieć się więcej? Oto kilka sugestii:
Powodzenia w dalszej nauce! Pamiętajcie, praktyka czyni mistrza. Do zobaczenia na kolejnej lekcji!
Wczytaj plik 'dane_sprzedazy.csv' do DataFrame. Wyświetl pierwsze 10 wierszy, informacje o DataFrame oraz jego wymiary. Pamiętaj, żeby wcześniej plik 'dane_sprzedazy.csv' (dołączony poniżej - w sekcji 'Praktyczne Zastosowanie'.) umieścić w tym samym folderze co skrypt.
Wykorzystując załadowany DataFrame, przefiltruj dane, aby wyświetlić tylko transakcje z produktem 'Herbata' i wartością sprzedaży powyżej 50 zł. Wyświetl tylko te wiersze.
Spróbuj dodać nową kolumnę 'rabat' (np. 0.10 = 10%) dla wszystkich transakcji powyżej 200 zł. Następnie wyświetl zaktualizowany DataFrame. (Podpowiedź: użyj `df['nowa_kolumna'] = ...`)
Wyobraź sobie, że jesteś analitykiem danych w małej kawiarni. Otrzymujesz plik 'dane_sprzedazy.csv' (przykład poniżej) z informacjami o sprzedaży za ostatni miesiąc. Twoim zadaniem jest użycie Pandas do wczytania danych, znalezienia najpopularniejszych produktów i wyodrębnienia informacji o transakcjach powyżej określonej kwoty. Przykładowy plik 'dane_sprzedazy.csv': ```csv Data,Produkt,Wartosc 2024-01-01,Kawa,15.50 2024-01-01,Herbata,10.00 2024-01-02,Kawa,20.00 2024-01-02,Ciastko,8.00 2024-01-03,Kawa,25.00 2024-01-03,Herbata,12.00 2024-01-04,Ciastko,10.00 2024-01-04,Kawa,30.00 2024-01-05,Herbata,15.00 2024-01-05,Ciastko,12.00 ```
Przygotuj się na kolejną lekcję, w której omówimy zaawansowane operacje na danych, takie jak grupowanie, agregacja i wizualizacja danych za pomocą Matplotlib.
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.