Ufunkcje w NumPy

Co to są ufunci?

Ufunci to "uniwersalne funkcje" (Universal Functions), które są funkcjami NumPy operującymi na obiektach ndarray.

Dlaczego warto używać ufunców?

Ufunci są używane do wektoryzacji w NumPy, co jest znacznie szybsze niż iterowanie przez elementy.

One również oferują metody takie jak rozszerzanie i sumowanie, które są bardzo pomocne w obliczeniach.

Ufunci akceptują również inne parametry, takie jak:

where Tablica logiczna lub warunek, który definiuje, gdzie należy wykonać operację.

dtype Definiowanie typu zwracanego elementu.

out Wartość zwrotna powinna być skopiowana do wyjściowego tablicy wyjściowej.

Co to jest vectorizacja?

Konwersja instrukcji iteracyjnych na operacje wektorowe nazywa się vectorizacją.

Ponieważ współczesne CPU są zoptymalizowane do takich operacji, są one szybsze.

Dodaj elementy dwóch list:

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

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

Jednym sposobem jest przejście przez dwie listy i dodanie każdego elementu.

Przykład

Jeśli nie ma ufunc, możemy użyć wbudowanego Pythona zip() Metoda:

x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
dla i, j w zip(x, y):
  z.append(i + j)
print(z)

Uruchom przykład

Dla tego, NumPy ma ufunc o nazwie add(x, y)i będzie wyświetlał ten sam wynik.

Przykład

Poprzez ufunc, możemy użyć add() Funkcja:

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

Uruchom przykład