ufuncs NumPy

Что такое ufuncs?

Ufuncs это «универсальные функции» (Universal Functions), это функции NumPy, которые работают с объектами ndarray.

Почему стоит использовать ufuncs?

ufunc используется для реализации векторизации в NumPy, что значительно быстрее, чем итерация по элементам.

Они также предоставляют методы广播 и другие, такие как уменьшение, сложение и т.д., которые очень полезны для вычислений.

Ufuncs также принимают другие параметры, например:

where Булевый массив или условие, определяющее, где должно выполняться действие.

dtype Определение типа возвращаемого элемента.

out Возвратное значение должно быть скопировано в выводной массив.

Что такое векторизация?

Преобразование итерационных выражений в векторные операции называется векторизацией.

Поскольку современные CPU оптимизированы для таких операций, они выполняются быстрее.

Суммирование элементов двух списков:

Список 1: [1, 2, 3, 4]

Список 2: [4, 5, 6, 7]

Один из методов - это итерация по двум спискам и суммирование каждого элемента.

Пример

Если нет ufunc, мы можем использовать вбудованную функцию Python zip() Метод:

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)

Запуск примера