NumPy funksioneer


Wat is ufuncs?

ufuncs staan ​​vir "Universal Functions" en dit is NumPy-funksies wat op die ndarrayvoorwerp werk.

Waarom ufuncs gebruik?

ufuncs word gebruik om vektorisering in NumPy te implementeer, wat baie vinniger is as om oor elemente te herhaal.

Hulle verskaf ook uitsaai- en bykomende metodes soos verminder, versamel ens. wat baie nuttig is vir berekening.

ufuncs neem ook bykomende argumente, soos:

whereBoolese skikking of toestand wat definieer waar die bewerkings moet plaasvind.

dtypedefinieer die terugkeer tipe elemente.

outuitvoerskikking waar die terugkeerwaarde gekopieer moet word.


Wat is vektorisering?

Die omskakeling van iteratiewe stellings in 'n vektorgebaseerde bewerking word vektorisering genoem.

Dit is vinniger aangesien moderne SVE's vir sulke bewerkings geoptimaliseer is.

Voeg die elemente van twee lyste by

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

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

Een manier om dit te doen is om oor beide die lyste te herhaal en dan elke element op te som.

Voorbeeld

Sonder ufunc kan ons Python se ingeboude zip()metode gebruik:

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 het 'n ufunc hiervoor, genaamd add(x, y) dit sal dieselfde resultaat lewer.

Voorbeeld

Met ufunc kan ons die add()funksie gebruik:

import numpy as np

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

print(z)