W dzisiejszej lekcji zanurzymy się w świecie Pandas, potężnej biblioteki Pythona do manipulacji i analizy danych. Nauczycie się, jak wczytywać, badać, przekształcać i analizować dane w formacie DataFrame, co jest kluczowe w inżynierii danych i ETL.
Pandas to biblioteka Pythona, która ułatwia pracę z danymi w postaci tablicowej. Centralną strukturą danych jest DataFrame, co można porównać do tabeli w arkuszu kalkulacyjnym. Innym ważnym elementem jest Series, czyli kolumna w DataFrame.
Importowanie Pandas:
import pandas as pd
Tworzenie DataFrame z danych:
data = {'Nazwa': ['Kowalski', 'Nowak', 'Wiśniewski'],
'Wiek': [30, 25, 40],
'Miasto': ['Warszawa', 'Kraków', 'Gdańsk']}
df = pd.DataFrame(data)
print(df)
To stworzy DataFrame z trzema kolumnami: 'Nazwa', 'Wiek' i 'Miasto' oraz trzema wierszami.
Pandas umożliwia wczytywanie danych z wielu różnych formatów, takich jak CSV, Excel, SQL i wiele innych.
Wczytywanie danych z pliku CSV:
df = pd.read_csv('dane.csv') # Zakładając, że mamy plik dane.csv
Podgląd danych:
* df.head()
- wyświetla pierwsze 5 wierszy.
* df.tail()
- wyświetla ostatnie 5 wierszy.
* df.sample(5)
- wyświetla 5 losowych wierszy.
Informacje o danych:
* df.info()
- wyświetla informacje o typach danych i brakujących wartościach.
* df.describe()
- generuje statystyki opisowe (np. średnia, odchylenie standardowe) dla kolumn numerycznych.
Przykładowe operacje:
* df['Wiek']
- wyświetla kolumnę 'Wiek' (Series).
* df[['Nazwa', 'Miasto']]
- wyświetla kolumny 'Nazwa' i 'Miasto' (DataFrame).
* df[df['Wiek'] > 30]
- filtrowanie: wyświetla wiersze, w których wiek jest większy niż 30.
* df.sort_values(by='Wiek')
- sortowanie po kolumnie 'Wiek'.
Pandas oferuje wiele narzędzi do przekształcania danych, takich jak dodawanie nowych kolumn, usuwanie kolumn, zmiana typów danych, oraz agregacji danych.
Przykłady przekształceń:
* df['Nowy Wiek'] = df['Wiek'] + 1
- dodanie nowej kolumny.
* df.drop('Nowy Wiek', axis=1)
- usunięcie kolumny.
* df['Wiek'].astype(float)
- zmiana typu danych na float.
Agregacja danych:
* df['Wiek'].mean()
- oblicza średnią wieku.
* df['Wiek'].max()
- oblicza maksymalny wiek.
* df.groupby('Miasto')['Wiek'].mean()
- grupowanie po 'Miasto' i obliczanie średniej wieku dla każdego miasta.
Explore advanced insights, examples, and bonus exercises to deepen understanding.
Witamy ponownie w świecie Pandas! Dziś zagłębimy się w bardziej zaawansowane aspekty tej potężnej biblioteki, rozwijając wiedzę zdobytą w dzisiejszej lekcji. Przyjrzymy się głębiej metodom transformacji danych i ich zastosowaniu w realnych scenariuszach ETL.
Poza podstawowymi operacjami, Pandas oferuje bogaty zestaw funkcji do transformacji danych, niezbędnych w procesach ETL. Przyjrzyjmy się kilku kluczowym obszarom:
apply()
do stosowania funkcji na kolumnach lub wierszach DataFrame. map()
do przekształcania wartości w kolumnach na podstawie słownika lub funkcji. Przykładowo, zmiana nazwy kolumn z "Produkt" na "Nazwa_Produktu" za pomocą df.rename(columns={'Produkt': 'Nazwa_Produktu'})
.
groupby()
i agregacja z wykorzystaniem funkcji takich jak sum()
, mean()
, count()
. Przykład: zliczanie sprzedaży pogrupowanych po kategoriach produktów. Pamiętajmy o pivot_table()
, która pozwala na bardziej złożone agregacje i reorganizację danych.
merge()
do łączenia na podstawie kolumn wspólnych i concat()
do łączenia danych wzdłuż osi. Wyobraźmy sobie łączenie danych o sprzedaży z danymi o klientach.
fillna()
), usuwanie (dropna()
) lub interpolacja brakujących wartości. Przykładowo, wypełnianie brakujących cen produktów średnią ceną.
Spróbuj swoich sił w poniższych zadaniach:
# Przykład (pseudokod)
df['Wartość_Zamówienia'] = df['cena'] * df['ilość']
sprzedaz_po_produkcie = df.groupby('produkt')['Wartość_Zamówienia'].sum()
# Przykład (pseudokod)
polaczone_dane = pd.merge(klienci, zamowienia, on='id_klienta')
Pandas jest niezastąpiony w wielu branżach:
Przejdź do bardziej skomplikowanych zadań:
Kontynuuj swoją przygodę z Pandas, eksplorując:
Powodzenia w dalszej nauce! Pamiętaj, praktyka czyni mistrza. Im więcej kodzisz, tym lepiej rozumiesz!
Pobierz plik CSV z danymi o sprzedaży (np. z internetu). Wczytaj go do Pandas. Użyj `head()`, `info()` i `describe()` do zbadania danych. Co możesz powiedzieć o danych na podstawie tych metod?
Korzystając z danych z poprzedniego ćwiczenia, przefiltruj dane, aby wyświetlić tylko transakcje o wartości powyżej 100 zł. Następnie posortuj je po dacie.
Korzystając z danych o sprzedaży, oblicz łączną wartość sprzedaży dla każdego produktu. Użyj metody `groupby()`.
Zastanów się, jakie pytania biznesowe mogłyby być odpowiedzią na analizę danych o sprzedaży. Jakie dodatkowe dane mogłyby być przydatne w analizie?
Wyobraź sobie, że pracujesz w sklepie internetowym. Masz dostęp do danych o sprzedaży. Wykorzystaj Pandas do analizy danych, aby zidentyfikować najlepiej sprzedające się produkty, trendy w sprzedaży i obszary wymagające poprawy.
Przygotuj się na następną lekcję, w której skupimy się na wizualizacji danych za pomocą biblioteki Matplotlib i Seaborn. Zastanów się nad różnymi sposobami wizualizacji danych (wykresy liniowe, słupkowe, kołowe).
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.