🎯 Definicja

NumPy (Numerical Python) to podstawowa biblioteka Pythona służąca do obliczeń naukowych i numerycznych. Udostępnia szybkie, wielowymiarowe struktury danych (głównie macierze – ndarray) oraz szeroki zestaw funkcji matematycznych do operacji na tych strukturach.

🔑 Kluczowe punkty

  • 📦 Dostarcza potężny obiekt: np.ndarray – n-wymiarowe tablice z obsługą operacji wektorowych.
  • ⚡ Wydajność – operacje wykonywane są w C pod maską (dużo szybsze od klasycznych pętli Pythona).
  • 🧪 Często używana jako fundament bibliotek takich jak pandas, scipy, scikit-learn, tensorflow i pytorch.
  • ➗ Obsługuje operacje macierzowe, algebrę liniową, statystyki, transformaty Fouriera i inne przekształcenia numeryczne.

📚 Przykłady zastosowania

Import i podstawowa tablica

import numpy as np
 
a = np.array([1, 2, 3])
print(a)  # [1 2 3]

Podstawowe operacje

b = np.array([[1, 2], [3, 4]])
print(b.shape)     # (2, 2)
print(b.T)         # transpozycja
print(b.mean())    # średnia

Operacje wektorowe

a = np.array([1, 2, 3])
b = np.array([1, 0, -1])
 
print(a + b)       # [2 2 2]
print(a * b)       # [1 0 -3]
print(np.dot(a, b)) # iloczyn skalarny

Tworzenie tablic

np.zeros((2, 3))         # tablica zer
np.ones((3, 3))          # tablica jedynek
np.eye(4)                # macierz jednostkowa
np.arange(0, 10, 2)      # [0 2 4 6 8]
np.linspace(0, 1, 5)     # [0.   0.25 0.5  0.75 1.  ]

Broadcasting

a = np.array([[1], [2], [3]])
b = np.array([10, 20, 30])
print(a + b)
# [[11 21 31]
#  [12 22 32]
#  [13 23 33]]

💡 Przykład zastosowania

Uczenie maszynowe / przetwarzanie danych:

  • Normalizacja danych wejściowych ((x - mean) / std)
  • Obliczanie metryk (MAE, MSE, RMSE) z macierzy błędów
  • Symulacje matematyczne, dane czasowe, przetwarzanie obrazów

🪛 Główne funkcje w NumPy

FunkcjaOpis
np.array()Tworzy tablicę NumPy
np.reshape()Zmienia kształt tablicy
np.mean(), np.std()Statystyki
np.dot(), np.matmul()Mnożenie macierzowe
np.random.rand()Generuje losowe liczby
np.linalg.inv()Odwracanie macierzy
np.save(), np.load()Zapis i odczyt tablic

📌 Źródła

👽 Brudnopis

  • NumPy = „język numeryczny Pythona” – szybka macierzowa matematyka
  • rdzeń naukowego środowiska danych w Pythonie → wszystko opiera się na ndarray
  • warto znać: broadcasting, slicing, tablice logiczne, filtrowanie, maski
  • integracja z C, Fortranem, czy cythonem — superwydajność