W dzisiejszej lekcji zapoznamy się z Pandas, potężną biblioteką języka Python, która jest fundamentem analizy danych. Dowiesz się, jak wczytywać, manipulować i analizować dane w wygodny i efektywny sposób.
Pandas to biblioteka Pythona stworzona do szybkiej i elastycznej analizy danych. Umożliwia efektywną pracę z danymi w formacie tabelarycznym (jak arkusze kalkulacyjne czy bazy danych). Jest to kluczowe narzędzie dla każdego data scientist'a. Zacznijmy od instalacji. Otwórz terminal i wpisz: pip install pandas
Po zainstalowaniu, zaimportuj Pandas w swoim skrypcie Python: import pandas as pd
. Podstawowym obiektem w Pandas jest DataFrame, czyli tablica danych. Możemy go stworzyć na kilka sposobów:
import pandas as pd
# Z listy list
data = [['Jan', 30], ['Anna', 25], ['Piotr', 35]]
df = pd.DataFrame(data, columns=['Imię', 'Wiek'])
print(df)
# Z słownika
data = {'Imię': ['Jan', 'Anna', 'Piotr'], 'Wiek': [30, 25, 35]}
df = pd.DataFrame(data)
print(df)
Obserwuj wynik – widzimy tabelę z wierszami i kolumnami.
Wczytywanie danych z pliku CSV (Comma Separated Values) jest bardzo proste. Załóżmy, że masz plik 'dane.csv' w tym samym katalogu co Twój skrypt. Używamy funkcji read_csv()
:
import pandas as pd
df = pd.read_csv('dane.csv')
print(df)
# Przykładowy plik 'dane.csv':
# Imię,Wiek,Miasto
# Jan,30,Warszawa
# Anna,25,Kraków
# Piotr,35,Gdańsk
Pandas automatycznie spróbuje odgadnąć typy danych w kolumnach. Możesz również określić separator (jeśli inny niż przecinek) używając parametru sep
(np. sep=';'
).
Po wczytaniu danych, możemy je eksplorować.
df.head()
: wyświetla pierwsze pięć wierszy (domyślnie). Możemy przekazać liczbę wierszy jako argument: df.head(3)
. df.tail()
: wyświetla ostatnie pięć wierszy. Podobnie, można określić liczbę wierszy: df.tail(2)
. df.info()
: dostarcza informacje o DataFrame: liczbę wierszy, kolumn, typy danych. df.describe()
: generuje statystyki opisowe dla kolumn numerycznych (średnia, odchylenie standardowe, kwartyle, min/max). df['NazwaKolumny']
: wybiera konkretną kolumnę. df[['Kolumna1', 'Kolumna2']]
: wybiera wiele kolumn. df.shape
: zwraca wymiary DataFrame (liczba wierszy, liczba kolumn). Przykład:
import pandas as pd
df = pd.read_csv('dane.csv')
print(df.head(2))
print(df.info())
print(df.describe())
print(df['Imię'])
print(df[['Imię', 'Miasto']])
Explore advanced insights, examples, and bonus exercises to deepen understanding.
Witaj! Po wczorajszym wprowadzeniu do Pandas, dziś zagłębimy się w jej bardziej zaawansowane aspekty. Poznasz potężne narzędzia do efektywnej analizy danych i zobaczysz, jak zastosować je w praktycznych scenariuszach.
Pamiętasz tworzenie i modyfikowanie DataFrame? Teraz przejdziemy do bardziej zaawansowanych technik. Omówimy agregację danych, grupowanie (groupby()
) i funkcje agregujące (np. mean()
, sum()
, count()
). Nauczysz się również łączyć DataFrame (merge()
, concat()
) i manipulować brakującymi danymi (fillna()
, dropna()
).
Grupowanie i agregacja: Wyobraź sobie, że analizujesz sprzedaż w sklepie. Używając groupby('miasto')
, możesz pogrupować dane po mieście, a następnie zastosować funkcje agregujące, np. sum()
na kolumnie "przychód", aby obliczyć łączny przychód dla każdego miasta. Pomyśl o tym jak o podsumowaniach w Excelu, ale z mocą Pythona!
Łączenie DataFrame: merge()
jest kluczowe, gdy dane znajdują się w różnych plikach. Na przykład, łączysz tabelę ze sprzedażą z tabelą zawierającą informacje o klientach (np. dane demograficzne) na podstawie wspólnego klucza (np. ID klienta).
Obsługa brakujących danych: Brakujące dane to częsty problem. fillna()
pozwoli Ci uzupełnić braki (np. średnią wartością kolumny), a dropna()
usunie wiersze z brakującymi danymi (ostrożnie!).
import pandas as pd # Przykład: Grupowanie po kategorii produktu i obliczanie średniej ceny dane = {'kategoria': ['A', 'A', 'B', 'B', 'A', 'B'], 'cena': [10, 12, 15, 18, 11, 16]} df = pd.DataFrame(dane) srednie_ceny = df.groupby('kategoria')['cena'].mean() print(srednie_ceny)
Wykorzystaj plik CSV z danymi o sprzedaży (możesz wygenerować własny z kolumnami: "Data", "Produkt", "Kategoria", "Cena", "Ilość"). Wczytaj dane do DataFrame. Pogrupuj dane po kategorii produktu i oblicz sumaryczną wartość sprzedaży dla każdej kategorii.
Stwórz dwa DataFrame: jeden z informacjami o produktach (ID, Nazwa, Kategoria), a drugi z danymi o sprzedaży (ID_Produktu, Ilość, Cena). Połącz te DataFrame po ID produktu (użyj merge()
). Zobacz, jak łatwo połączyć dane z różnych źródeł!
Pandas jest wszechobecny w świecie danych. Oto kilka przykładów:
Znajdź publiczny dataset (np. dane o wypadkach drogowych, dane pogodowe, dane z portali społecznościowych). Wczytaj go do Pandas. Przeprowadź następujące analizy:
Aby pogłębić swoją wiedzę o Pandas, warto zapoznać się z:
Stwórz DataFrame z listy list, reprezentującej dane o ocenach uczniów. Kolumny: 'Imię', 'Przedmiot', 'Ocena'. Przykład danych: ``` [ ['Jan', 'Matematyka', 4], ['Anna', 'Fizyka', 5], ['Piotr', 'Chemia', 3] ] ``` Wyświetl zawartość DataFrame.
Pobierz (lub stwórz) plik CSV z danymi (np. z informacjami o sprzedaży produktów). Wczytaj plik do DataFrame. Użyj `head()`, `info()` i `describe()` aby zapoznać się z danymi. Następnie wybierz i wyświetl kolumnę z nazwami produktów.
Mając zaimportowany DataFrame z poprzedniego ćwiczenia, użyj `value_counts()` na kolumnie zawierającej nazwy produktów (lub kategorii) aby sprawdzić, ile razy każdy produkt/kategoria się pojawia. To pozwoli Ci na prostą analizę częstotliwości występowania.
Wyobraź sobie, że pracujesz w małym sklepie internetowym. Masz plik CSV z danymi o zamówieniach (data, produkty, ceny). Wykorzystując Pandas, możesz szybko przeanalizować, które produkty sprzedają się najlepiej, jakie są Twoje dzienne/tygodniowe przychody, i zidentyfikować trendy sprzedaży.
Na następnej lekcji skupimy się na bardziej zaawansowanych operacjach na danych w Pandas: filtrowaniu, sortowaniu, grupowaniu i agregacji danych. Przygotuj się na więcej ćwiczeń i możliwości manipulacji danymi!
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.