Funkcje NumPy


Czym są ufuncs?

ufuncs to skrót od "Universal Functions" i są to funkcje NumPy, które operują na ndarrayobiekcie.

Po co używać ufuncs?

ufuncs są używane do implementacji wektoryzacji w NumPy, która jest o wiele szybsza niż iteracja po elementach.

Zapewniają również nadawanie i dodatkowe metody, takie jak redukcja, akumulacja itp., które są bardzo pomocne w obliczeniach.

ufuncs przyjmują również dodatkowe argumenty, takie jak:

wheretablica logiczna lub warunek określający, gdzie operacje powinny mieć miejsce.

dtypezdefiniowanie zwracanego typu elementów.

outtablica wyjściowa, do której należy skopiować zwracaną wartość.


Co to jest wektoryzacja?

Przekształcenie instrukcji iteracyjnych w operację opartą na wektorze nazywa się wektoryzacją.

Jest szybszy, ponieważ nowoczesne procesory są zoptymalizowane pod kątem takich operacji.

Dodaj elementy dwóch list

lista 1: [1, 2, 3, 4]

lista 2: [4, 5, 6, 7]

Jednym ze sposobów na zrobienie tego jest iteracja po obu listach, a następnie zsumowanie każdego elementu.

Przykład

Bez ufunc możemy użyć wbudowanej zip()metody Pythona:

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 ma do tego funkcję ufunc, add(x, y) która wywoła ten sam wynik.

Przykład

Dzięki ufunc możemy użyć add()funkcji:

import numpy as np

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)

print(z)