IT Biblioteka Data Science

NumPy

Znany też jako:Numpy

Definicja #

NumPy (Numerical Python) to biblioteka języka Python do wydajnych obliczeń numerycznych na wielowymiarowych tablicach i macierzach. Stanowi fundament całego ekosystemu Python data science — praktycznie każda inna biblioteka (pandas, SciPy, scikit-learn, PyTorch, TensorFlow) opiera się na strukturach danych NumPy lub z nimi współpracuje.

Kluczowe elementy NumPy:

  • ndarray — centralny obiekt NumPy: n-wymiarowa tablica o jednorodnym typie danych; znacznie wydajniejsza niż listy Python dzięki ciągłemu obszarowi pamięci i operacjom wektorowym
  • Broadcasting — mechanizm pozwalający wykonywać operacje na tablicach różnych kształtów bez ręcznego powielania danych; fundamentalny dla efektywnego kodu numerycznego
  • Operacje wektorowe (ufunc) — operacje matematyczne (dodawanie, mnożenie, sin, exp) wykonywane na całych tablicach naraz, zaimplementowane w C — do 100x szybsze niż pętle Python
  • Indeksowanie i slicing — zaawansowane indeksowanie: podstawowe (arr[1:3]), fancy indexing (arr[[0,2,4]]), boolean masking (arr[arr > 0])
  • Algebra liniowanp.linalg: mnożenie macierzy (np.dot, @), wyznacznik, wartości własne, dekompozycje SVD/QR
  • Generatory liczb losowychnp.random: generowanie tablic losowych z różnych rozkładów (normalny, jednostajny, Poissona)
  • Integracja z C/C++/Fortran — NumPy jest napisany w C i eksponuje C API; biblioteki numeryczne (LAPACK, BLAS) są wywoływane bezpośrednio

NumPy jest obowiązkowym elementem zestawu narzędzi każdego data scientista i ML engineera pracującego w Pythonie.

Zastosowania #

  • Przetwarzanie danych numerycznych — manipulacja macierzami i tablicami jako podstawa pipeline'ów data science i machine learning
  • Algebra liniowa w ML — mnożenie macierzy, transformacje, dekompozycje; implementacja algorytmów ML od podstaw
  • Przetwarzanie obrazów — obrazy jako tablice NumPy (height x width x channels); biblioteki OpenCV i Pillow zwracają/przyjmują ndarrays
  • Symulacje naukowe i obliczenia inżynierskie — modelowanie fizyczne, symulacje Monte Carlo, obliczenia statystyczne
  • Prototypowanie algorytmów ML przed optymalizacją w PyTorch/TensorFlow

Ścieżka nauki #

NumPy to obowiązkowy pierwszy krok dla każdego, kto zaczyna przygodę z data science lub ML w Pythonie.

Zacznij od:

  • Instalacja: pip install numpy; import konwencjonalnie jako import numpy as np
  • Tworzenie tablic: np.array(), np.zeros(), np.ones(), np.arange(), np.linspace()
  • Podstawowe operacje: kształt (shape), typ (dtype), reshaping (reshape), transpozycja (.T)
  • Slicing i indeksowanie — podstawa efektywnego kodu NumPy

Następnie pogłębiaj:

  • Broadcasting — zrozumienie zasad pozwoli pisać zwięzły i szybki kod bez pętli
  • np.linalg — algebra liniowa; np.random — generatory losowe
  • Integracja z pandas (DataFrame opiera się na NumPy) i matplotlib (wizualizacja tablic NumPy)
  • Profilowanie: kiedy NumPy jest wolny i kiedy warto sięgnąć po Numba (JIT) lub CuPy (GPU)

FAQ #

Czym różni się lista Python od tablicy NumPy?
Lista Python może zawierać elementy różnych typów i jest przechowywana jako tablica wskaźników — każdy element to osobny obiekt Python. Tablica NumPy jest jednorodna (jeden typ danych) i przechowywana jako ciągły blok pamięci w C. Operacje NumPy są wykonywane wektorowo w C — mogą być 10-100x szybsze niż pętle na listach.
Co to jest broadcasting w NumPy?
Broadcasting to mechanizm pozwalający na wykonywanie operacji matematycznych na tablicach o różnych kształtach bez kopiowania danych. Np. dodanie liczby skalarnej do tablicy 2D, lub tablicy 1D do tablicy 2D — NumPy automatycznie 'rozszerza' mniejszą tablicę zgodnie z regułami broadcastingu. Jest to kluczowy mechanizm wydajnego kodu numerycznego.
Czy NumPy działa na GPU?
Standardowy NumPy działa tylko na CPU. Dla obliczeń GPU istnieje CuPy — biblioteka oferująca niemal identyczne API jak NumPy, ale wykonująca obliczenia na kartach NVIDIA (CUDA). PyTorch i TensorFlow mają własne tensory obsługujące GPU i są preferowane w deep learningu.
Jaka jest relacja NumPy z pandas i scikit-learn?
pandas DataFrame'y wewnętrznie przechowują dane jako tablice NumPy. scikit-learn przyjmuje i zwraca tablice NumPy. Matplotlib wizualizuje tablice NumPy. NumPy jest warstwą fundamentową — znajomość jego API jest wymagana do efektywnej pracy z całym ekosystemem data science w Pythonie.
Ile zarabia Data Scientist znający NumPy?
NumPy to bazowa umiejętność data scientistów — sama w sobie nie jest wyróżnikiem. Data Scientist z NumPy, pandas, scikit-learn i doświadczeniem w ML zarabia w Polsce od 12 000 do 25 000 zł brutto. Wyższe widełki dotyczą specjalistów z deep learningiem (PyTorch/TensorFlow) i doświadczeniem produkcyjnym.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z NumPy w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.