np.maxsadece bir takma addır np.amax. Bu işlev yalnızca tek bir giriş dizisi üzerinde çalışır ve bu dizinin tamamındaki maksimum öğenin değerini bulur (bir skaler döndürür). Alternatif olarak, bir axisbağımsız değişken alır ve giriş dizisinin bir ekseni boyunca maksimum değeri bulur (yeni bir dizi döndürür).
>>> 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])
Varsayılan davranış np.maximumalınmak iki diziler ve bunların öğeye göre maksimum hesaplamak. Burada 'uyumlu', bir dizinin diğerine yayınlanabileceği anlamına gelir. Örneğin:
>>> b = np.array([3, 6, 1])
>>> c = np.array([4, 2, 9])
>>> np.maximum(b, c)
array([4, 6, 9])
Ancak np.maximumaynı zamanda evrensel bir işlevdir , bu da çok boyutlu dizilerle çalışırken yararlı olan başka özelliklere ve yöntemlere sahip olduğu anlamına gelir. Örneğin, bir dizi (veya dizinin belirli bir ekseni) üzerindeki kümülatif maksimum değeri hesaplayabilirsiniz:
>>> d = np.array([2, 0, 3, -4, -2, 7, 9])
>>> np.maximum.accumulate(d)
array([2, 2, 3, 3, 3, 7, 9])
Bu ile mümkün değil np.max.
Şunları kullanırken bir dereceye kadar np.maximumtaklit edebilirsiniz :np.maxnp.maximum.reduce
>>> np.maximum.reduce(d)
9
>>> np.max(d)
9
Temel testler, iki yaklaşımın performans açısından karşılaştırılabilir olduğunu göstermektedir; ve np.max()aslındanp.maximum.reduce hesaplamayı yapmak için çağrılar gibi olmalılar .
amaxaynı (kök) amaç için kullanılabilirmaximum,numpy.amax([a1, a2], axis=0)ancak bu, bu davranış için olduğu kadar optimize edilmemişnumpy.maximummi? Benzer şekilde, eklenen niteliklernumpy.amax(örneğinaxisparametre) onun a olmasını engelliyorufuncmu?