np.max
hanyalah alias untuk np.amax
. Fungsi ini hanya bekerja pada array input tunggal dan menemukan nilai elemen maksimum di seluruh array (mengembalikan skalar). Atau, dibutuhkan axis
argumen dan akan menemukan nilai maksimum sepanjang sumbu array input (mengembalikan array baru).
>>> 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])
Perilaku default np.maximum
adalah untuk mengambil dua array dan menghitung maksimum elemen-bijaksana mereka. Di sini, 'kompatibel' berarti bahwa satu array dapat disiarkan ke array lainnya. Sebagai contoh:
>>> b = np.array([3, 6, 1])
>>> c = np.array([4, 2, 9])
>>> np.maximum(b, c)
array([4, 6, 9])
Tetapi np.maximum
juga merupakan fungsi universal yang artinya memiliki fitur dan metode lain yang berguna ketika bekerja dengan array multidimensi. Misalnya, Anda dapat menghitung maksimum kumulatif di atas array (atau sumbu tertentu dari array):
>>> d = np.array([2, 0, 3, -4, -2, 7, 9])
>>> np.maximum.accumulate(d)
array([2, 2, 3, 3, 3, 7, 9])
Ini tidak mungkin dengan np.max
.
Anda dapat np.maximum
meniru np.max
sampai batas tertentu saat menggunakan np.maximum.reduce
:
>>> np.maximum.reduce(d)
9
>>> np.max(d)
9
Pengujian dasar menunjukkan bahwa kedua pendekatan tersebut sebanding dalam kinerja; dan mereka harus, sebagaimana np.max()
panggilan sebenarnyanp.maximum.reduce
untuk melakukan perhitungan.
amax
untuk tujuan (root) yang sama denganmaximum
, yaitu dengannumpy.amax([a1, a2], axis=0)
--- tetapi apakah ini tidak dioptimalkan untuk perilaku ininumpy.maximum
? Demikian pula, apakah sifat-sifat tambahan yang ditambahkannumpy.amax
(misalnyaaxis
parameter) menghalanginya dari menjadiufunc
?