*V
funktioniert, wenn V
nur 2 Arrays hat. np.minimum
ist ein ufunc
und benötigt 2 Argumente.
Als ufunc
hat es eine .reduce
Methode, so kann es wiederholt auf eine Liste Eingaben gelten.
In [321]: np.minimum.reduce([np.arange(3), np.arange(2,-1,-1), np.ones((3,))])
Out[321]: array([ 0., 1., 0.])
Ich vermute, der np.min
Ansatz ist schneller, aber das auf dem Array und Listengröße abhängen könnte.
In [323]: np.array([np.arange(3), np.arange(2,-1,-1), np.ones((3,))]).min(axis=0)
Out[323]: array([ 0., 1., 0.])
The ufunc
hat auch eine accumulate
, die uns die Ergebnisse jeder Stufe der Reduktion zeigen. Hier ist es nicht zu interessant, aber ich könnte die Eingaben ändern, um das zu ändern.
In [325]: np.minimum.accumulate([np.arange(3), np.arange(2,-1,-1), np.ones((3,))])
...:
Out[325]:
array([[ 0., 1., 2.],
[ 0., 1., 0.],
[ 0., 1., 0.]])