Python Підручник з NumPy для початківців

⚡ Розумний підсумок

NumPy є основоположним Python Бібліотека для числових обчислень, керування масивами, матрицями, лінійною алгеброю та випадковою вибіркою. Цей посібник з NumPy проведе вас по встановленню, створенню масивів, налаштуванню...ping, нарізання, статистика та матрична математика з runnable Python приклади

  • Основне використання: Швидкі N-вимірні масиви та векторизована математика в Python.
  • Основні функції: нулі, одиниці, переформування, hstack, крапка, linspace.
  • 📚 Foundations: Лінійна алгебра, мовлення, статистика, зрізи.
  • ???? Поточна версія: NumPy 2.x (випущений у червні 2024 року) тепер стабільний.
  • 🤖 Використання ШІ: Хребет PyTorch, TensorFlow, JAX та тензори CuPy.

Python Підручник NumPy

У чому полягає NumPy Python?

numpy є відкритим вихідним кодом Python бібліотека для математичного, наукового, інженерного та інформаційно-аналітичного програмування. Це дуже корисна бібліотека для математичних та статистичних операцій у PythonВін чудово працює з багатовимірними масивами та множенням матриць, а також легко інтегрується з C/.C++ та Fortran.

Для будь-якого наукового проєкту NumPy — це інструмент, який потрібно знати. Він створений для N-вимірних масивів, лінійної алгебри, генерації випадкових чисел, перетворень Фур'є та багато іншого.

NumPy надає Python першокласна підтримка багатовимірних масивів і матриць, а також великий набір математичних операцій, які з ними діють. У цьому посібнику ми розглянемо основні функції, які вам потрібно знати, перш ніж перейти до посібника з теми «TensorFlow».

Навіщо використовувати NumPy?

NumPy ефективно використовує пам'ять, тому він може обробляти великі обсяги числових даних легше, ніж чистий NumPy. Python списки. Це також дуже зручно для множення матриць та обчисленьping, і це швидко, оскільки важка робота делегується скомпільованим C-підпрограмам. Фактично, такі бібліотеки, як TensorFlow, PyTorch та Scikit-learn покладаються на масиви NumPy для матричної математики у своїй внутрішній частині, що робить NumPy тихою робочою конячкою для більшості сучасних робочих процесів у сфері науки про дані та штучного інтелекту.

Як встановити NumPy

Щоб встановити бібліотеку NumPy, зверніться до нашого посібника Як встановити TensorFlow. NumPy встановлено за замовчуванням разом із Anaconda.

У рідкісному випадку, коли NumPy не встановлено, скористайтеся будь-яким із наведених нижче варіантів.

Ви можете встановити NumPy за допомогою Anaconda:

conda install -c anaconda numpy
  • In Jupyter ноутбук:
import sys
!conda install --yes --prefix {sys.prefix} numpy

Користувачі Pip можуть встановити або оновити за допомогою однієї команди:

pip install --upgrade numpy

Імпортуйте NumPy і перевірте версію

Команда для імпорту numpy така:

import numpy as np

У наведеному вище рядку простір імен NumPy перейменовується на npЦе скорочення дозволяє вам додавати до функцій, методів та атрибутів NumPy префікс np. замість "ти"ping numpy., і це стандартна домовленість, яку ви знайдете в екосистемі NumPy.

Щоб перевірити встановлену версію NumPy, скористайтеся командою нижче:

print(np.__version__)

вихід:

2.1.3

NumPy 2.0 вийшов у червні 2024 року та є поточною основною стабільною серією. Якщо ваш проект все ще залежить від API 1.x, закріпіть його на numpy<2 у вашому файлі вимог, оскільки деякі застарілі псевдоніми, такі як np.float були видалені у версії 2.0.

Що таке? Python Масив NumPy?

Масиви NumPy виглядають трохи схоже на Python списки на перший погляд, але вони поводяться зовсім по-різному. Для читачів, які не встигають ознайомитися з цією темою, давайте пояснимо, що таке ndarray і чому він важливий.

Як випливає з назви, масив NumPy є центральною структурою даних бібліотеки NumPy. Сама назва є скороченням від «Numeric Python» або «Числовий Python«, а масив ndarray — це однорідний блок пам’яті фіксованого розміру з відомою формою та типом даних.

Створення масиву NumPy

Найпростіший спосіб створити масив у NumPy – почати з Python список.

myPythonList = [1,9,8,3]

перетворити Python список у масив NumPy за допомогою np.array.

numpy_array_from_list = np.array(myPythonList)

Відобразити вміст масиву.

numpy_array_from_list

вихід:

array([1, 9, 8, 3])

На практиці немає необхідності декларувати a Python спочатку список. Ці два кроки можна поєднати.

a = np.array([1,9,8,3])

ПРИМІТКА: У документації NumPy також згадується np.ndarray, Але np.array – це рекомендована заводська функція для щоденного використання.

Ви також можете створити масив NumPy з кортежу таким самим чином.

Математичний Operaна масиві

Ви можете виконувати математичні операції, такі як додавання, відніманняtracція, ділення та множення масиву. Синтаксис полягає в тому, щоб спочатку ввести ім'я масиву, а потім оператор (+, -, *, /), а потім операнд. Ці операції векторизовані, що означає, що NumPy застосовує їх до кожного елемента без явного Python петлі.

приклад:

numpy_array_from_list + 10

вихід:

array([11, 19, 18, 13])

Ця операція додає 10 до кожного елемента масиву NumPy.

Форма масиву

Ви можете перевірити форму масиву за допомогою shape атрибут, доступ до якого здійснюється шляхом додавання його до імені масиву. Так само можна перевірити тип за допомогою dtype.

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

(3,)
int64

Ціле число – це значення без десяткової коми. Якщо створити масив із десятковими дробами, тип даних змінюється на float.

#### Different type
b = np.array([1.1,2.0,3.2])
print(b.dtype)

float64

2 розмірний масив

Ви можете додати розмірність, вказавши її комою в дужках.

Зверніть увагу, що внутрішні кортежі повинні знаходитися всередині зовнішніх дужок [].

### 2 dimension
c = np.array([(1,2,3),
              (4,5,6)])
print(c.shape)
(2, 3)

3 розмірний масив

Вищі розміри можна побудувати таким самим чином.

### 3 dimension
d = np.array([
    [[1, 2,3],
        [4, 5, 6]],
    [[7, 8,9],
        [10, 11, 12]]
])
print(d.shape)
(2, 2, 3)
Мета Code
Створити масив масив ([1,2,3])
роздрукувати форму масив([.]).форма

Що таке numpy.zeros()?

numpy.zeros () or np.zeros це Python функція, яка використовується для створення матриці, заповненої нулями. numpy.zeros() корисно, коли вам потрібно ініціалізувати ваги під час першої ітерації в TensorFlow або налаштувати буфери-заповнювачі для інших статистичних завдань.

Синтаксис функції numpy.zeros().

numpy.zeros(shape, dtype=float, order='C')

Python Параметри numpy.zeros().

Тут,

  • Форма: форма нульового масиву NumPy.
  • Dtype: тип даних елементів. Це необов'язково, а значення за замовчуванням — float64.
  • замовлення: за замовчуванням C, що є макетом з основним рядком, що використовується numpy.zeros() in Python.

Python numpy.zeros() Приклад

import numpy as np
np.zeros((2,2))

вихід:

array([[0., 0.],
          [0., 0.]])

Приклад нуля numpy із типом даних

import numpy as np
np.zeros((2,2), dtype=np.int16)

вихід:

array([[0, 0],
         [0, 0]], dtype=int16)

Що таке numpy.ones()?

функція np.ones(). створює матрицю, заповнену одиницями. numpy.ones() in Python корисно під час ініціалізації ваг під час першої ітерації в TensorFlow та для інших статистичних завдань.

Python Синтаксис numpy.ones().

numpy.ones(shape, dtype=float, order='C')

Python Параметри numpy.ones().

Тут,

  • Формаформа np.ones Python масив.
  • Dtype: тип даних елементів. Це необов'язково, а значення за замовчуванням — float64.
  • замовлення: за замовчуванням C, що є макетом з основним рядком.

Python numpy.ones() Двовимірний масив із прикладом типу даних

import numpy as np
np.ones((1,2,3), dtype=np.int16)

вихід:

array([[[1, 1, 1],
       [1, 1, 1]]], dtype=int16)

функція numpy.reshape(). Python

Python NumPy Reshape змінює форму масиву без зміни його даних. Можливо, вам доведеться змінити форму даних з широкого на довгий формат або перейти з одновимірного вектора на двовимірну матрицю, перш ніж передати їх моделі. np.reshape Функція обробляє це за один виклик.

Синтаксис np.reshape()

numpy.reshape(a, newShape, order='C')

Тут,

a: масив, форму якого потрібно змінити.

newShape: нова бажана форма.

замовлення: за замовчуванням C, макет за основними рядками.

Приклад NumPy Reshape

import numpy as np
e = np.array([(1,2,3), (4,5,6)])
print(e)
e.reshape(3,2)

вихід:

 // Before reshape
[[1 2 3]
 [4 5 6]]
//After Reshape
array([[1, 2],
	[3, 4],
	[5, 6]])

numpy.flatten() в Python

Python NumPy Flatten повертає копію масиву, згорнутого в один вимір. Під час роботи з нейронними мережами, такими як конвергентні мережі (convnets), часто потрібно вирівняти тензор зображення, перш ніж передавати його щільному шару. np.flatten() Функція обробляє це за один виклик.

Синтаксис np.flatten()

numpy.flatten(order='C')

Тут,
замовлення: за замовчуванням C, макет за основними рядками.

Приклад NumPy Flatten

e.flatten()

вихід:

array([1, 2, 3, 4, 5, 6])

У чому полягає numpy.hstack(). Python?

numpy.hstack це Python функція, яка використовується для горизонтального укладання послідовностей вхідних масивів в один масив. За допомогою hstack(), ви додаєте дані вздовж осі стовпця. Це дуже зручний помічник у NumPy, коли вам потрібно об'єднати вектори ознак поруч.

Давайте вивчати hstack in Python з прикладом.

приклад:

## Horizontal Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Horizontal Append:', np.hstack((f, g)))

вихід:

Horizontal Append: [1 2 3 4 5 6]

У чому полягає numpy.vstack(). Python?

numpy.vstack це Python функція, яка використовується для вертикального укладання послідовностей вхідних масивів в один масив. За допомогою vstack(), ви додаєте дані вздовж осі рядків, що зручно, коли потрібно об'єднати групи зразків.

Давайте вивчимо це на прикладі.

приклад:

## Vertical Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Vertical Append:', np.vstack((f, g)))

вихід:

Vertical Append: [[1 2 3]
 [4 5 6]]

Після вивчення NumPy vstack та hstack, давайте розглянемо приклад, який генерує випадкові числа в NumPy.

Створити випадковий Numbers за допомогою NumPy

Щоб згенерувати випадкові числа з гаусового розподілу, використовуйте:

numpy.random.normal(loc, scale, size)

Тут,

  • Місце: середнє значення. Центр розподілу.
  • шкаластандартне відхилення.
  • Розмір: кількість повернутих зразків.

приклад:

## Generate random numbers from a normal distribution
normal_array = np.random.normal(5, 0.5, 10)
print(normal_array)
[5.56171852 4.84233558 4.65392767 4.946659   4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]

Якщо побудувати графік, розподіл буде подібним до наступного графіка.

Приклад генерації випадкових Numbers за допомогою NumPy
Приклад генерації випадкових Numbers за допомогою NumPy

Зверніть увагу, що новіший код все частіше використовує сучасний API генератора, np.random.default_rng(), що є рекомендованою заміною для застарілої версії np.random.normal виклики в NumPy 2.x.

Функція NumPy Asarray

Команда asarray() Функція перетворює вхідні дані на масив. Вхідними даними можуть бути список, кортеж, ndarray або подібна послідовність.

Синтаксис:

numpy.asarray(data, dtype=None, order=None)

Тут,

дані: дані, які потрібно перетворити на масив.

dtype: необов'язковий. Якщо не вказано, тип даних визначається з вхідних даних.

замовлення: за замовчуванням C, макет за основним рядком. Інший варіант — F (Fortraколонка в стилі n-major).

приклад:

Розглянемо наступну двовимірну матрицю з чотирма рядками та чотирма стовпцями, заповнену 1.

import numpy as np
A = np.matrix(np.ones((4,4)))

Якщо ви спробуєте змінити значення в матриці через np.array, оригінал не змінено. Причина полягає в тому, що np.array створює копію матриці.

np.array(A)[2]=2
print(A)
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]

Матриця не змінюється. Використовуйте asarray коли ви хочете змінити початковий масив на місці. Давайте подивимося, що станеться, якщо ви встановите третій рядок на значення 2.

np.asarray(A)[2]=2
print(A)

Code Пояснення:

np.asarray(A) перетворює матрицю A до представлення масиву.

[2] вибирає третій рядок.

вихід:

[[1. 1. 1. 1.]
      [1. 1. 1. 1.]
      [2. 2. 2. 2.] # new value
      [1. 1. 1. 1.]]

Що таке numpy.arange()?

numpy.arange () — це вбудована функція NumPy, яка повертає масив ndarray, що містить рівномірно розташовані значення в межах визначеного інтервалу. Наприклад, щоб створити значення від 1 до 10, можна викликати np.arange() in Python.

Синтаксис:

numpy.arange(start, stop, step, dtype)

Python Параметри NumPy arange:

  • Старт: початок інтервалу для np.arange in Python.
  • Стоп: кінець інтервалу.
  • Крок: інтервал між значеннями. Крок за замовчуванням — 1.
  • Dtypeтип вихідного масиву для NumPy arange.

приклад:

import numpy as np
np.arange(1, 11)

вихід:

array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10])

приклад:

Щоб змінити крок у цьому NumPy arange Наприклад, додайте третє число до дужок. Це змінить розмір кроку.

import numpy as np
np.arange(1, 14, 4)

вихід:

array([ 1,  5,  9, 13])

Функція NumPy Linspace

linspace повертає рівномірно розподілені вибірки між двома кінцевими точками.

Синтаксис:

numpy.linspace(start, stop, num, endpoint)

Тут,

  • Старт: початкове значення послідовності.
  • Стопкінцеве значення послідовності.
  • В: кількість зразків для створення. За замовчуванням – 50.
  • Кінцева точка: якщо True (За замовчуванням), stop останнє значення. Якщо False, stop не входить у вартість.

приклад:

Наприклад, його можна використовувати для створення 10 рівномірно розташованих значень від 1 до 5.

import numpy as np
np.linspace(1.0, 5.0, num=10)

вихід:

array([1.        , 1.44444444, 1.88888889, 2.33333333, 2.77777778,       3.22222222, 3.66666667, 4.11111111, 4.55555556, 5.        ])

Якщо ви не хочете включати останню цифру в інтервал, встановіть endpoint до False.

np.linspace(1.0, 5.0, num=5, endpoint=False)

вихід:

array([1. , 1.8, 2.6, 3.4, 4.2])

Функція LogSpace NumPy в Python

logspace повертає рівномірно розташовані числа у логарифмічній шкалі. logspace має ті ж самі параметри, що й np.linspace.

Синтаксис:

numpy.logspace(start, stop, num, endpoint)

приклад:

np.logspace(3.0, 4.0, num=4)

вихід:

array([ 1000. ,  2154.43469003,  4641.58883361, 10000.        ])

Нарешті, якщо ви хочете перевірити розмір пам'яті для одного елемента масиву, ви можете використовувати itemsize.

x = np.array([1,2,3], dtype=np.complex128)
x.itemsize

вихід:

16

Кожен елемент займає 16 байт.

Індексація та нарізка Python

Розподіл даних за допомогою NumPy є простим. Ми розподілимо матрицю e, в Python, для повернення рядків або стовпців використовуються квадратні дужки.
приклад:

## Slice
import numpy as np
e = np.array([(1,2,3), (4,5,6)])
print(e)
[[1 2 3]
 [4 5 6]]

Пам'ятайте, що в NumPy перший індекс масиву починається з 0.

## First row
print('First row:', e[0])

## Second row
print('Second row:', e[1])

вихід:

First row: [1 2 3]
Second row: [4 5 6]

In Python, як і в багатьох інших мовах,

  • Значення перед комою позначає рядки.
  • Значення після коми відповідає стовпцям.
  • Якщо потрібно вибрати стовпець, додайте : перед індексом стовпця.
  • : означає, що вам потрібні всі рядки з вибраного стовпця.
print('Second column:', e[:,1])
Second column: [2 5]

Щоб повернути перші два значення другого рядка, використовуйте : щоб вибрати всі стовпці до другого індексу.

## Second Row, two values
print(e[1, :2])
[4 5]

Статистичні функції в Python

NumPy надає корисний набір статистичних функцій для знаходження мінімуму, максимуму, процентиля, стандартного відхилення, дисперсії тощо з заданого масиву. Найпоширеніші з них перелічені нижче.

NumPy постачається з потужними статистичними помічниками, зведеними в таблиці.

функція Пустотливий
Мін np.min()
Макс np.max()
Середня np.mean()
Медіана np.median()
Standard deviation np.std()

Розглянемо наступний масив:

приклад:

import numpy as np
normal_array = np.random.normal(5, 0.5, 10)
print(normal_array)

вихід:

[5.56171852 4.84233558 4.65392767 4.946659   4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]

Приклад статистичних функцій NumPy

### Min
print(np.min(normal_array))

### Max
print(np.max(normal_array))

### Mean
print(np.mean(normal_array))

### Median
print(np.median(normal_array))

### Sd
print(np.std(normal_array))

вихід:

4.467042435266913
5.612113171990201
4.934841002270593
4.846995625786663
0.3875019367395316

Що таке скалковий добуток numpy?

numpy.dot — потужна функція для обчислення матриць. Наприклад, ви можете обчислити скалярний добуток за допомогою np.dot. numpy.dot повертає скалярний добуток a та b, та обробляє як одновимірні, так і двовимірні масиви. Для двовимірних вхідних даних виконує множення матриць.

Синтаксис:

numpy.dot(x, y, out=None)

Параметри

Тут,

x, y: вхідні масиви. x та y обидва мають бути 1D або 2D для np.dot() працювати як скалярний добуток або множення матриць.

з: необов'язковий вихідний аргумент, який використовується для захоплення результату. В іншому випадку повертається масив ndarray.

Повернення

Функція numpy.dot() повертає скалярний добуток двох масивів x та yВін повертає скаляр, коли обидва є 1D, інакше повертає масив. Якщо out задано, то повертається цей масив.

Піднімає

Скалярний добуток у Python піднімає ValueError якщо останній вимір x не відповідає передостанньому виміру y.

приклад:

## Linear algebra
### Dot product: product of two arrays
f = np.array([1,2])
g = np.array([4,5])
### 1*4+2*5
np.dot(f, g)

вихід:

14

Множення матриці в Python

NumPy matmul() Функція повертає матричний добуток двох масивів. Ось як це працює.

1) Для двовимірних масивів повертає добуток нормальних матриць.

2) Для розмірностей, більших за 2, добуток розглядається як стек матриць.

3) Одновимірний масив спочатку перетворюється на матрицю, а потім обчислюється його добуток.

Інфікс @ оператор, доступний з Python 3.5 – це скорочення від matmul і широко використовується в сучасному коді.

Синтаксис:

numpy.matmul(x, y, out=None)

Тут,

x, y: вхідні масиви. Скалярні числа заборонені.

з: необов'язковий параметр. Зазвичай вивід зберігається в масиві ndarray.

приклад:

Так само можна обчислити множення матриць за допомогою np.matmul.

### Matmul: matrix product of two arrays
h = [[1,2],[3,4]]
i = [[5,6],[7,8]]
### 1*5+2*7 = 19
np.matmul(h, i)

вихід:

array([[19, 22],
            [43, 50]])

Determinant

Якщо вам потрібно обчислити визначник матриці, використовуйте np.linalg.det()NumPy подбає про розміри за вас.

приклад:

## Determinant 2*2 matrix
### 5*8-7*6
np.linalg.det(i)

вихід:

-2.000000000000005

Пояснення NumPy Broadcasting

Розсилка – це правило, яке дозволяє NumPy виконувати арифметичні дії над масивами різної форми без копіювання даних. Коли ви додаєте скаляр до одновимірного вектора або одновимірний вектор до двовимірної матриці, NumPy розтягує менший операнд вздовж відсутніх осей, щоб форми вирівнювалися. Це дозволяє уникнути явного Python цикли, і це одна з головних причин, чому код NumPy здається швидким та лаконічним.

Дві фігури сумісні для трансляції, коли, порівняно справа наліво, кожна пара вимірів або дорівнює, або один з них дорівнює 1. Наприклад, матриця фігури (3, 4) транслює на ряд фігур (4,) або стовпець форми (3, 1)Та сама логіка забезпечує нормалізацію в машинному навчанні, де ви підраховуєтеtracвектор середнього значення для кожної ознаки з пакета зразків в одному рядку. Широкомовлення також є концептуальною моделлю, яка використовується тензорними бібліотеками, такими як PyTorch, TensorFlow та JAX, тому правила, які ви тут вивчите, можна безпосередньо перенести в код GPU.

Як NumPy забезпечує роботу штучного інтелекту та машинного навчання

NumPy лежить майже в основі кожного сучасного Python Стек ШІ. PyTorТензори ch, тензори TensorFlow Eager та масиви JAX надають однакові функції широкомовлення, зрізання та решарки.ping API, про який ви дізналися на NumPy ndarrays. Багато навчальних посібників досі використовують попередньо оброблені масиви NumPy для навчання моделей, а фреймворки приймають їх без нульового перетворення.

Три конкретні шаблони показують, як NumPy взаємодіє з роботою ШІ сьогодні. По-перше, інженери обробки даних формують необроблені функції в масиви NumPy, перш ніж передавати їх конвеєрам scikit-learn або наборам даних Hugging Face. По-друге, дослідники використовують NumPy як базову модель процесора, а потім замінюють їх CuPy, який забезпечує майже ідентичний API, але працює на графічних процесорах NVIDIA через CUDA. По-третє, JAX базується на API NumPy, щоб додати автоматичну диференціацію та компіляцію "точно вчасно", тому той самий код, який працює на ноутбуці, може працювати на технологіях TPU у хмарі. Висновок полягає в тому, що навички роботи з масивами, які ви розвиваєте за допомогою NumPy, застосовуються в кожному основному інструментарії глибокого навчання, що робить цей посібник корисним кроком на шляху до розробки ШІ.

Поширені запитання

NumPy забезпечує швидку роботу з N-вимірними масивами, векторизованою математикою, лінійною алгеброю, випадковою вибіркою та перетвореннями Фур'є. Інженери та фахівці з обробки даних використовують його для числових обчислень, обробки зображень та сигналів, статистики та як основу масивів для бібліотек вищого рівня, таких як pandas, scikit-learn та SciPy.

Масив NumPy зберігає елементи одного фіксованого типу даних у безперервному блоці пам'яті, що пришвидшує векторизовану математику. Python Списки містять довільні об'єкти, підтримують змішані типи та покладаються на повільніші цикли для кожного елемента, тому вони гнучкі, але набагато менш ефективні для великих числових навантажень.

NumPy 2.0, випущений у червні 2024 року, зберігає стабільність основного API масивів, але видаляє давно застарілі псевдоніми, такі як np.float та np.int, і посилює правила підвищення типів. Більшість продакшн-коду потребує лише незначних редагувань. Закріпити numpy<2 якщо залежність ще не оновлена.

PyTorch та TensorFlow моделюють свої тензорні об'єкти на NumPy ndarrays. Вони мають однакову форму, семантику трансляції та зрізів, і обидва приймають масиви NumPy як вхідні дані. Навички, отримані за допомогою NumPy, безпосередньо застосовуються до побудови нейронних мереж, циклів навчання та конвеєрів попередньої обробки тензорів.

Стандартний NumPy працює на центральному процесорі. Для прискорення на графічному процесорі використовуйте CuPy, який відображає API NumPy на пристроях NVIDIA CUDA, або JAX, який додає автоматичне визначення різниці та компіляцію «вчасно» для графічних процесорів та процесорів. Обидва дозволяють повторно використовувати більшість існуючого коду NumPy з мінімальними переписуваннями для робочих навантажень штучного інтелекту.

Anaconda постачає NumPy за замовчуванням. В іншому випадку запустіть pip install numpy or conda install -c anaconda numpyЩоб оновити існуючу інсталяцію до NumPy 2.x, виконайте команду pip install --upgrade numpyПеревірте активну версію за допомогою print(np.__version__) всередині Python.

Трансляція дозволяє NumPy працювати з масивами різної форми без копіювання даних. Менший масив віртуально розтягується, щоб відповідати більшому, коли розміри сумісні. Це забезпечує стиглі вирази для нормалізації, масштабування та розробки ознак у конвеєрах машинного навчання.

Підсумуйте цей пост за допомогою: