← retour aux snippets

numpy: vectorize et where

Appliquer une fonction rapidement avec np.where/np.vectorize.

python numpy #numpy#vectorize#where

objectif

Appliquer une fonction rapidement avec np.where/np.vectorize.

code minimal

import numpy as np

x = np.arange(6)
print(np.where(x%2==0, x, -x).tolist())

utilisation

import numpy as np

def f(v): return v*v + 1
g = np.vectorize(f)
print(g([1,2,3]).tolist())

variante(s) utile(s)

import numpy as np

x = np.array([0,1,2])
print(np.select([x==0, x>0], [10, 20], default=-1).tolist())

notes

  • vectorize reste un wrapper Python; préférez ufuncs si possible.