Funkcje NumPy
Czym są ufuncs?
ufuncs to skrót od "Universal Functions" i są to funkcje NumPy, które operują na ndarray
obiekcie.
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:
where
tablica logiczna lub warunek określający, gdzie operacje powinny mieć miejsce.
dtype
zdefiniowanie zwracanego typu elementów.
out
tablica 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)