Функции NumPy
Что такое ufuncs?
ufuncs означает «универсальные функции», и это функции NumPy, которые работают с ndarray
объектом.
Зачем использовать ufuncs?
ufuncs используются для реализации векторизации в NumPy, что намного быстрее, чем перебор элементов.
Они также обеспечивают широковещательную передачу и дополнительные методы, такие как сокращение, накопление и т. д., которые очень полезны для вычислений.
ufuncs также принимает дополнительные аргументы, например:
where
логический массив или условие, определяющее, где должны выполняться операции.
dtype
определение возвращаемого типа элементов.
out
выходной массив, куда должно быть скопировано возвращаемое значение.
Что такое векторизация?
Преобразование итерационных операторов в векторную операцию называется векторизацией.
Это быстрее, так как современные процессоры оптимизированы для таких операций.
Добавьте элементы двух списков
список 1: [1, 2, 3, 4]
список 2: [4, 5, 6, 7]
Один из способов сделать это — выполнить итерацию по обоим спискам, а затем суммировать каждый элемент.
Пример
Без ufunc мы можем использовать встроенный zip()
метод Python:
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
for i, j in zip(x, y):
z.append(i + j)
print(z)
У NumPy для этого есть функция ufunc, add(x, y)
которая даст тот же результат.
Пример
С ufunc мы можем использовать add()
функцию:
import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)