Операции с массивами в NumPy

Основные операции с массивами в библиотеке NumPy

NumPy – это библиотека Python для работы с массивами, предоставляющая множество удобных функций и методов для выполнения математических операций. Рассмотрим разнообразные операции, доступные в NumPy для работы с массивами.

Арифметические операции

Арифметические операции между массивами выполняются поэлементно.

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

print(a + b)   # [5 7 9]
print(a - b)   # [-3 -3 -3]
print(a * b)   # [4 10 18]
print(a / b)   # [0.25 0.4 0.5]

Также можно комбинировать массивы с скалярами:

print(a + 5)  # [6 7 8]
print(b * 3)  # [12 15 18]

Матричные операции

В NumPy можно легко производить матричные операции, такие как матричное умножение, транспонирование и нахождение обратной матрицы.

import numpy as np

A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [0, 2]])

# Матричное умножение
print(np.dot(A, B))
# или
print(A @ B)

# Транспонирование
print(A.T)

# Обратная матрица
print(np.linalg.inv(A))

Поэлементные операции

Помимо базовой арифметики, NumPy предоставляет множество математических функций, которые работают поэлементно.

import numpy as np

x = np.array([1, 2, 3, 4])

print(np.sqrt(x))   # [1.         1.41421356 1.73205081 2.        ]
print(np.exp(x))    # [ 2.71828183  7.3890561  20.08553692 54.59815003]
print(np.sin(x))    # [ 0.84147098  0.90929743  0.14112001 -0.7568025 ]

Агрегированные операции

Эти функции позволяют вычислять агрегированные значения, такие как сумма, среднее, максимум и минимум.

import numpy as np

y = np.array([[1, 2, 3], [4, 5, 6]])

print(np.sum(y))           # 21
print(np.mean(y))          # 3.5
print(np.max(y))           # 6
print(np.min(y, axis=0))   # [1 2 3] (минимальные значения по столбцам)

Логические операции

Можно также выполнять логические операции и сравнения между массивами.

import numpy as np

a = np.array([1, 2, 3])
b = np.array([3, 2, 1])

print(a > b)   # [False False  True]
print(a <= b)  # [ True  True False]
print(a == b)  # [False  True False]

Универсальные функции (ufuncs)

Универсальные функции - это функции, которые работают на ndarray объектах "поэлементно", предоставляя поддержку для больших многомерных массивов.

import numpy as np

x = np.array([-2, -1, 0, 1, 2])

print(np.abs(x))           # [2 1 0 1 2]
print(np.square(x))        # [4 1 0 1 4]
print(np.sign(x))          # [-1 -1  0  1  1]

Заключение

NumPy – это мощный инструмент для работы с данными в Python, предоставляющий множество функциональных возможностей для выполнения разнообразных операций над массивами. Эти операции становятся основой для более сложных задач в области научных вычислений, обработки данных и машинного обучения.

Содержание: