W dzisiejszej lekcji poznasz dwie kluczowe biblioteki w Pythonie: NumPy i Pandas. Nauczysz się, jak efektywnie operować na danych numerycznych i tabelarycznych, co jest fundamentem dla każdego data scientist.
NumPy (Numerical Python) to biblioteka Python, która zapewnia wsparcie dla dużych, wielowymiarowych tablic i macierzy wraz z zestawem funkcji matematycznych do operacji na tych tablicach. Jest fundamentalna w Data Science, ponieważ optymalizuje operacje na liczbach. NumPy jest bardzo szybkie, ponieważ jest zaimplementowane w języku C, a nie Python. Aby zainstalować NumPy, użyj pip install numpy
.
Przykład:
import numpy as np
ar = np.array([1, 2, 3, 4, 5]) # Tworzenie tablicy jednowymiarowej
print(ar)
print(type(ar))
ar_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Tworzenie tablicy dwuwymiarowej (macierzy)
print(ar_2d)
print(ar_2d.shape) # Sprawdzenie wymiarów macierzy (wiersze, kolumny)
NumPy oferuje szeroki zakres operacji na tablicach, w tym: operacje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie), operacje logiczne (np. porównywanie elementów), indeksowanie i wycinanie (slicing), oraz funkcje matematyczne (np. sin
, cos
, sqrt
).
Przykład:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# Dodawanie tablic
suma = arr1 + arr2
print(suma) # Output: [5 7 9]
# Mnożenie tablic
mnozenie = arr1 * arr2
print(mnozenie) # Output: [ 4 10 18]
# Wycinanie fragmentu tablicy
sliced_arr = arr1[0:2] # elementy od indeksu 0 do 1 (nie wliczając 2)
print(sliced_arr) # Output: [1 2]
# Funkcja matematyczna
sin_arr = np.sin(arr1)
print(sin_arr)
Pandas to biblioteka Python służąca do manipulacji i analizy danych. Jest zbudowana na NumPy i udostępnia struktury danych, które pozwalają na łatwe zarządzanie i analizę danych tabelarycznych (np. z plików CSV, Excel). Najważniejsze struktury danych w Pandas to Series
(jednowymiarowa tablica z etykietami) i DataFrame
(dwuwymiarowa tabela).
Przykład:
import pandas as pd
data = {'Nazwa': ['Ania', 'Bartek', 'Celina'], 'Wiek': [25, 30, 28]}
df = pd.DataFrame(data) # Tworzenie DataFrame
print(df)
print(df.head(2)) # Wyświetlenie pierwszych dwóch wierszy
Pandas umożliwia wykonywanie wielu operacji na danych: wczytywanie danych z plików (CSV, Excel, JSON), filtrowanie danych, sortowanie, grupowanie, łączenie tabel, obliczanie statystyk i wiele innych. Funkcje filtrowania i grupowania są szczególnie przydatne w eksploracji danych.
Przykład:
import pandas as pd
data = {'Nazwa': ['Ania', 'Bartek', 'Celina', 'Dawid'], 'Wiek': [25, 30, 28, 25], 'Miasto': ['Warszawa', 'Kraków', 'Warszawa', 'Wrocław']}
df = pd.DataFrame(data)
# Filtrowanie danych
df_warszawa = df[df['Miasto'] == 'Warszawa']
print(df_warszawa)
# Sortowanie danych
df_posortowane = df.sort_values(by='Wiek', ascending=False)
print(df_posortowane)
# Agregacja (obliczanie średniego wieku dla każdego miasta)
grupa_miasto = df.groupby('Miasto')['Wiek'].mean()
print(grupa_miasto)
Explore advanced insights, examples, and bonus exercises to deepen understanding.
Witaj! Po opanowaniu podstaw NumPy i Pandas, zanurzamy się głębiej w ich możliwości. Dziś nie tylko poszerzymy Twoją wiedzę, ale także pokażemy, jak te narzędzia można wykorzystać w realnych, a nawet świątecznych scenariuszach! Pamiętaj, data science to nie tylko kody, ale też ciekawość i kreatywność.
**NumPy: Broadcasting i Maskowanie.** Pamiętasz operacje na tablicach? NumPy ma potężne narzędzie zwane "broadcastingiem". Pozwala na wykonywanie operacji arytmetycznych na tablicach o różnych kształtach, o ile są "kompatybilne". Na przykład, dodawanie skalaru do całej tablicy to broadcasting w akcji! Ponadto, maskowanie (boolean indexing) to świetny sposób na filtrowanie danych na podstawie warunków logicznych.
**Pandas: Zaawansowane Operacje na DataFrame.** Pandas oferuje funkcje grupowania (groupby()
), agregacji (agg()
), łączenia (merge()
) i łączenia (concat()
). groupby()
pozwala na dzielenie danych na grupy i stosowanie operacji na każdej z nich. agg()
pozwala na wykonywanie wielu operacji agregujących jednocześnie. merge()
i concat()
to potężne narzędzia do łączenia danych z różnych źródeł.
**Świąteczny przykład:** Wyobraź sobie, że masz dane o sprzedaży ozdób choinkowych w różnych sklepach. Możesz użyć groupby()
, aby obliczyć średnią sprzedaż każdego rodzaju ozdoby, merge()
, by połączyć dane o sprzedaży z danymi o kosztach produkcji, a następnie filtrować dane, by wyświetlić tylko te ozdoby, które przyniosły największy zysk w okresie przedświątecznym.
Kluczowe pojęcia: Broadcasting, maskowanie, groupby()
, agg()
, merge()
, concat()
.
Ćwiczenie 1: Broadcasting w Akcji
Stwórz tablicę NumPy zawierającą oceny z 5 przedmiotów dla 3 studentów. Następnie, użyj broadcastingu, aby odjąć średnią ocenę dla każdego studenta od jego ocen.
Ćwiczenie 2: Analiza Danych o Prezentach
Wczytaj do Pandas zestaw danych (możesz go sam stworzyć!), który zawiera informacje o prezentach świątecznych: nazwa, koszt, sklep, kategoria. Użyj groupby()
, aby obliczyć średni koszt prezentu w każdej kategorii. Następnie użyj sort_values()
, aby posortować wyniki od najdroższych kategorii prezentów.
**Zarządzanie Zapasami:** NumPy i Pandas są kluczowe w analizie danych w łańcuchu dostaw. Firmy używają ich do analizy popytu na produkty, optymalizacji poziomów zapasów i przewidywania przyszłych potrzeb.
**Analiza Finansowa:** W finansach, Pandas jest niezastąpiony w analizie portfeli, badaniu trendów rynkowych i prognozowaniu.
**Marketing i Sprzedaż:** Analiza danych o klientach, segmentacja, analiza efektywności kampanii marketingowych – Pandas i NumPy są fundamentem tych działań. Wyobraź sobie, że analizujesz wyniki kampanii bożonarodzeniowej, aby zoptymalizować przyszłe działania.
Stwórz symulację sprzedaży prezentów świątecznych w kilku sklepach. Użyj NumPy do generowania losowych danych o sprzedaży. Następnie, użyj Pandas, aby przeanalizować te dane i wygenerować raport pokazujący, które sklepy i które produkty były najpopularniejsze. Spróbuj dodać analizę rentowności, uwzględniając koszty produktów.
pivot_table()
i apply()
.Utwórz tablicę NumPy zawierającą liczby od 1 do 10. Następnie oblicz sumę wszystkich elementów i pomnóż każdy element przez 2. Wykorzystaj funkcje NumPy.
Stwórz prosty plik CSV z danymi (np. imiona, wiek, miasto). Wczytaj ten plik do DataFrame Pandas, a następnie wyświetl pierwsze 5 wierszy i podaj podstawowe statystyki (średnia, minimum, maksimum).
Użyj DataFrame z ćwiczenia 2. Filtruj dane, aby wyświetlić tylko osoby z określonego miasta. Następnie pogrupuj dane po mieście i oblicz średni wiek dla każdego miasta.
Wyobraź sobie, że pracujesz w sklepie internetowym. Twoim zadaniem jest analiza danych sprzedażowych (dane o produktach, zamówieniach, klientach). Użyj Pandas do wczytania danych z pliku CSV, przeanalizuj je (np. średnia cena zamówienia, top 10 produktów po liczbie sprzedanych sztuk) i wyciągnij wnioski, które pomogą w optymalizacji.
Przygotuj się na następną lekcję, która skupi się na wizualizacji danych za pomocą biblioteki Matplotlib i Seaborn. Spróbuj zainstalować te biblioteki i poszukać prostych przykładów wizualizacji.
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.