NumPy ufuncs
- Föregående Sida NumPy random
- Nästa Sida Introduktion
Vad är ufuncs?
Ufuncs betyder “allmänna funktioner” (Universal Functions) och är NumPy-funktioner som utför operationer på ndarray-objekt.
Varför använda ufuncs?
Ufunc används för att uppnå vektorisering i NumPy, vilket är mycket snabbare än att iterera över element.
De erbjuder också andra metoder som broadcast och summor, vilket är mycket hjälpsamt för beräkningar.
Ufunc tar också andra parametrar, till exempel:
where
Boolska arrayer eller villkor som definierar var operationerna bör utföras.
dtype
Definiera returtypen för elementen.
out
Returvärdet bör kopieras till utdataarrayen.
Vad är vektorisering?
Att konvertera iterativa uttryck till vektorbaserade operationer kallas för vektorisering.
Eftersom modern CPU har optimerats för sådana operationer är det snabbare.
Summera elementen i de två listorna:
List 1: [1, 2, 3, 4]
List 2: [4, 5, 6, 7]
Ett sätt är att traversera båda listorna och sedan summera varje element.
Exempel
Om det inte finns någon ufunc kan vi använda Python inbyggda zip()
Metod:
x = [1, 2, 3, 4] y = [4, 5, 6, 7] z = [] for i, j in zip(x, y): z.append(i + j) print(z)
För detta har NumPy en ufunc som kallas add(x, y)
detta kommer att ge samma resultat.
Exempel
Genom ufunc kan vi använda add()
Funktion:
import numpy as np x = [1, 2, 3, 4] y = [4, 5, 6, 7] z = np.add(x, y) print(z)
- Föregående Sida NumPy random
- Nästa Sida Introduktion