NumPy ufuncs

Hvad er ufuncs?

Ufuncs betyder 'universal functions' (universal funktioner), hvilket er NumPy-funktioner, der opererer på ndarray-objekter.

Hvorfor bruge ufuncs?

Ufunc bruges til at opnå vectorisering i NumPy, hvilket er meget hurtigere end iteration af elementer.

De tilbyder også broadcast og andre metoder, såsom reduktion, summation osv., som er meget nyttige for beregninger.

Ufuncs accepterer også andre parametre, såsom:

where Boligarray eller betingelse, der bruges til at definere, hvor operationen skal udføres.

dtype Definerer returtypen for elementerne.

out Returværdien skal kopieres til den output-array, som den skal returneres til.

Hvad er vectorisering?

At konvertere iterative sætninger til vektorbaserede operationer kaldes vectorisering.

Da moderne CPU'er er optimeret til sådanne operationer, er de hurtigere.

Summer elementerne i to lister:

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

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

En metode er at gennemgå to lister og derefter summer hver element.

Eksempel

Hvis der ikke er en ufunc, kan vi bruge Python's indbyggede zip() Metode:

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

Kør eksempel

For dette har NumPy en ufunc kaldet add(x, y)det vil outputte det samme resultat.

Eksempel

Ved hjælp af ufunc kan vi bruge add() Funktion:

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

Kør eksempel