np.maxist nur ein Alias für np.amax. Diese Funktion funktioniert nur für ein einzelnes Eingabearray und ermittelt den Wert des maximalen Elements in diesem gesamten Array (Rückgabe eines Skalars). Alternativ wird ein axisArgument verwendet und der Maximalwert entlang einer Achse des Eingabearrays ermittelt (wobei ein neues Array zurückgegeben wird).
>>> a = np.array([[0, 1, 6],
[2, 4, 1]])
>>> np.max(a)
6
>>> np.max(a, axis=0) # max of each column
array([2, 4, 6])
Das Standardverhalten von np.maximumbesteht darin, zwei Arrays zu verwenden und ihr elementweises Maximum zu berechnen. Hier bedeutet "kompatibel", dass ein Array an das andere gesendet werden kann. Beispielsweise:
>>> b = np.array([3, 6, 1])
>>> c = np.array([4, 2, 9])
>>> np.maximum(b, c)
array([4, 6, 9])
Es np.maximumist aber auch eine universelle Funktion, was bedeutet, dass es andere Funktionen und Methoden hat, die bei der Arbeit mit mehrdimensionalen Arrays nützlich sind. Beispielsweise können Sie das kumulative Maximum über ein Array (oder eine bestimmte Achse des Arrays) berechnen:
>>> d = np.array([2, 0, 3, -4, -2, 7, 9])
>>> np.maximum.accumulate(d)
array([2, 2, 3, 3, 3, 7, 9])
Dies ist mit nicht möglich np.max.
Sie können bis zu einem gewissen Grad np.maximumnachahmen np.max, wenn Sie Folgendes verwenden np.maximum.reduce:
>>> np.maximum.reduce(d)
9
>>> np.max(d)
9
Grundlegende Tests legen nahe, dass die beiden Ansätze in ihrer Leistung vergleichbar sind. und sie sollten es sein, wie np.max()tatsächlich Aufrufenp.maximum.reduce zur Berechnung.
amaxfür den gleichen (Wurzel-) Zweck verwendenmaximum, dh mitnumpy.amax([a1, a2], axis=0)---, aber ist dies nicht so optimiert für dieses Verhalten wienumpy.maximum? In ähnlicher Weise schließen die hinzugefügten Feinheiten vonnumpy.amax(z. B. demaxisParameter) aus, dass es ein istufunc?