NumPy для наукових обчислень: з чого почати
3 вересня 2026 р.

NumPy — це бібліотека, з якої фактично починається наукова робота з даними в Python. Її рідко використовують саму по собі, але вона є фундаментом, на якому побудовані pandas, scikit-learn, TensorFlow та майже вся екосистема дата саєнс.
Навіщо потрібен NumPy
Звичайні списки Python зручні, але повільні для великих обсягів чисел. NumPy дає спеціальну структуру — масив (ndarray), який зберігає числа компактно й обробляє їх у сотні разів швидше. Причина в тому, що обчислення виконуються оптимізованим кодом на C, а не інтерпретованим Python.
Підключають бібліотеку традиційно так:
import numpy as np
Масиви замість списків
Створити масив можна зі звичайного списку:
a = np.array([1, 2, 3, 4])
Масив може бути й багатовимірним — наприклад, матрицею:
m = np.array([[1, 2], [3, 4]])
Саме багатовимірні масиви роблять NumPy незамінним для роботи із зображеннями, таблицями чисел та математичними обчисленнями.
Векторні обчислення
Головна перевага NumPy — векторизація. Це означає, що операції застосовуються одразу до всього масиву, без явних циклів:
a = np.array([1, 2, 3, 4])
print(a * 2) # [2 4 6 8]
print(a + 10) # [11 12 13 14]
Це не лише коротше, а й у рази швидше, ніж перебирати елементи циклом. У дата саєнс векторизація — це не просто зручність, а стандарт написання ефективного коду.
Корисні функції
NumPy містить безліч готових математичних інструментів:
np.mean(a) # середнє
np.max(a) # максимум
np.sum(a) # сума
np.sqrt(a) # корінь із кожного елемента
np.arange(10) # масив від 0 до 9
np.zeros(5) # масив із пʼяти нулів
Ці функції працюють однаково зручно як для одновимірних, так і для багатовимірних масивів.
Індексація та зрізи
Доступ до елементів схожий на списки, але потужніший:
a[0] # перший елемент
a[1:3] # елементи з другого по третій
m[0, 1] # елемент з першого рядка, другого стовпця
a[a > 2] # усі елементи, більші за 2
Остання конструкція — булева індексація — дозволяє фільтрувати дані однією зрозумілою командою.
Broadcasting
Одна з елегантних можливостей NumPy — broadcasting, коли операції автоматично поширюються на масиви різної форми. Наприклад, додати число до кожного елемента матриці чи додати вектор до кожного її рядка можна без жодного циклу. Спочатку це може здаватися магією, але саме broadcasting робить код лаконічним і швидким.
Де це застосовується
NumPy лежить в основі майже будь-якої обчислювальної задачі: обробка зображень (які є масивами пікселів), лінійна алгебра для машинного навчання, статистичні розрахунки, наукове моделювання. Навіть коли ви працюєте з pandas, «під капотом» усе одно працює NumPy.
Підсумок
NumPy дає Python швидкі багатовимірні масиви й векторні обчислення, які замінюють повільні цикли лаконічними операціями над цілими масивами. Розуміння масивів, векторизації, індексації та broadcasting — це базовий навик, без якого складно рухатися далі в аналітиці й машинному навчанні. Це той фундамент, який варто закласти на самому початку.