Cara menggunakan NP.MAXIMUM pada Python

Untuk array multidimensi Anda dapat menggunakan kata kunci axis untuk menerapkan partisi di sepanjang sumbu yang diharapkan.

# For a 2D array
indices = np.argpartition(arr, -N, axis=1)[:, -N:]

Dan untuk mengambil item:

x = arr.shape[0]
arr[np.repeat(np.arange(x), N), indices.ravel()].reshape(x, N)

Tetapi perhatikan bahwa ini tidak akan mengembalikan hasil yang diurutkan. Dalam hal ini Anda dapat menggunakan np.argsort() sepanjang sumbu yang dimaksud:

indices = np.argsort(arr, axis=1)[:, -N:]

# Result
x = arr.shape[0]
arr[np.repeat(np.arange(x), N), indices.ravel()].reshape(x, N)

Berikut ini sebuah contoh:

In [42]: a = np.random.randint(0, 20, (10, 10))

In [44]: a
Out[44]:
array([[ 7, 11, 12,  0,  2,  3,  4, 10,  6, 10],
       [16, 16,  4,  3, 18,  5, 10,  4, 14,  9],
       [ 2,  9, 15, 12, 18,  3, 13, 11,  5, 10],
       [14,  0,  9, 11,  1,  4,  9, 19, 18, 12],
       [ 0, 10,  5, 15,  9, 18,  5,  2, 16, 19],
       [14, 19,  3, 11, 13, 11, 13, 11,  1, 14],
       [ 7, 15, 18,  6,  5, 13,  1,  7,  9, 19],
       [11, 17, 11, 16, 14,  3, 16,  1, 12, 19],
       [ 2,  4, 14,  8,  6,  9, 14,  9,  1,  5],
       [ 1, 10, 15,  0,  1,  9, 18,  2,  2, 12]])

In [45]: np.argpartition(a, np.argmin(a, axis=0))[:, 1:] # 1 is because the first item is the minimum one.
Out[45]:
array([[4, 5, 6, 8, 0, 7, 9, 1, 2],
       [2, 7, 5, 9, 6, 8, 1, 0, 4],
       [5, 8, 1, 9, 7, 3, 6, 2, 4],
       [4, 5, 2, 6, 3, 9, 0, 8, 7],
       [7, 2, 6, 4, 1, 3, 8, 5, 9],
       [2, 3, 5, 7, 6, 4, 0, 9, 1],
       [4, 3, 0, 7, 8, 5, 1, 2, 9],
       [5, 2, 0, 8, 4, 6, 3, 1, 9],
       [0, 1, 9, 4, 3, 7, 5, 2, 6],
       [0, 4, 7, 8, 5, 1, 9, 2, 6]])

In [46]: np.argpartition(a, np.argmin(a, axis=0))[:, -3:]
Out[46]:
array([[9, 1, 2],
       [1, 0, 4],
       [6, 2, 4],
       [0, 8, 7],
       [8, 5, 9],
       [0, 9, 1],
       [1, 2, 9],
       [3, 1, 9],
       [5, 2, 6],
       [9, 2, 6]])

In [89]: a[np.repeat(np.arange(x), 3), ind.ravel()].reshape(x, 3)
Out[89]:
array([[10, 11, 12],
       [16, 16, 18],
       [13, 15, 18],
       [14, 18, 19],
       [16, 18, 19],
       [14, 14, 19],
       [15, 18, 19],
       [16, 17, 19],
       [ 9, 14, 14],
       [12, 15, 18]])

_np.max_ hanyalah alias untuk _np.amax_. Fungsi ini hanya bekerja pada array input tunggal dan menemukan nilai elemen maksimum dalam seluruh array (mengembalikan skalar). Atau, dibutuhkan argumen axis dan akan menemukan nilai maksimum di sepanjang sumbu input array (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 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 membuat _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 seharusnya, sebagai np.max() SEBENARNYA MEMANGGIL _np.maximum.reduce untuk melakukan perhitungan.

Python NumPy maximum() atau max() function digunakan untuk mendapatkan nilai maksimum (nilai terbesar) dari array yang diberikan, atau membandingkan dua elemen array dan mengembalikan nilai maksimum. Saat membandingkan, salah satu elemen dari dua array adalah NaN, kemudian elemen tersebut dikembalikan sebagai NaN. Jika kedua elemen dari dua array adalah NaNs maka elemen pertama dikembalikan. Gunakan fungsi minimum() untuk mendapatkan nilai minimum array NumPy.

Pada artikel ini, saya akan menjelaskan cara mendapatkan nilai maksimum array 1-D dalam array elemen-bijaksana dan multi-D bersama dengan sumbu yang ditentukan menggunakan sintaks dan parameter numpy.maximum() contoh.

  • 1. Contoh cepat dari Fungsi Maksimum Python NumPy
  • 2. Sintaks maksimum()
    • 2.1 Parameter maksimum()
    • 2.2 Nilai Pengembalian maksimum ()
  • 3. Penggunaan Numpy maksimum ()
    • 3.1 Dapatkan Nilai Maksimum Dua Skalar
    • 3.2 Dapatkan Nilai Maks dari Array 1-D
  • 4. Dapatkan Maksimum Dua Array NumPy
  • 5. Dapatkan Nilai Maksimum Array 2-D
  • 6. Gunakan Fungsi maksimum() & NaN
  • 7. Kesimpulan
    • Anda Mungkin Juga Menyukai
    • Referensi

1. Contoh cepat dari Fungsi Maksimum Python NumPy

Jika Anda sedang terburu-buru, di bawah ini adalah beberapa contoh singkat tentang cara menghitung nilai maksimal array Python NumPy menggunakan fungsi maximum().


# Below are the quick examples

# Example 1: Find maximum value on 1-dimensional numpy array
arr = np.array([16,10,96,32,50,64,85])
arr2 = np.max(arr)

# Example 2: find maximum value 
arr = 15
arr1 = 24
arr2 = np.maximum(arr, arr1) 

# Example 3: Find maximum value on 2-dimensional numpy array   
arr = [22,34,88,99]
arr1 = [35,43,55,78] 
arr2 = np.maximum(arr,arr1) 

# Example 4: Get the maximum value from complete 2D NumPy array
arr2 = np.max(arr)

# Example 5: Get the maximum values of each row i.e. along axis 0 
arr2 = np.max(arr, axis=0)

# Example 6: Get the maximum values of each row i.e. along axis 1 
arr2 = np.max(arr, axis=1)

# Example 7: Use numpy.maximum() Function & NaN
arr = np.array([4,9,14,np.nan,16])
arr1 = np.array([np.nan,9,18,np.nan,25])
arr2 = np.maximum(arr,arr1)

2. Sintaks maksimum()

Sintaks NumPy maksimum()


# syntax of numpy.maximum()  
numpy.maximum(arr, arr1, /, out=None, *, where=True, casting='same_kind', order="K", dtype=None, subok=True[, signature, extobj]) = 

2.1 Parameter maksimum()

Berikut ini adalah parameter maksimum().

  • arr, arr1 – Array masukan. Array yang berisi elemen untuk membandingkan nilai maksimum
  • out – Mewakili lokasi di mana hasil disimpan.
  • where – Kondisi ini disiarkan melalui input, di lokasi di mana kondisinya Benar.
  • casting – Mengontrol jenis datacasting yang harus terjadi.
  • order – Mengontrol urutan tata letak memori dari fungsi output.
  • dtype – Mewakili tipe data array yang diinginkan.
  • subok – Memutuskan apakah subclass harus dibuat atau tidak. Jika Benar, subkelas akan dilewati.

2.2 Nilai Pengembalian maksimum ()

Ini mengembalikan maksimum array arr1 dan arr2, dari segi elemen. Ini mengembalikan skalar jika arr1 dan arr2 adalah skalar.

3. Penggunaan Numpy maksimum ()

JumlahPy maximum() function digunakan untuk mendapatkan array baru yang berisi nilai maksimum elemen-bijaksana dari dua array. Ini membandingkan dua array dan mengembalikan array baru yang berisi nilai maksimum. Jika salah satu elemen yang dibandingkan adalah NaN (Bukan Angka), NaN dikembalikan. Jika kedua elemen yang dibandingkan adalah NaN (Bukan Angka), lalu NaN dikembalikan.

3.1 Dapatkan Nilai Maksimum Dua Skalar

Jika kita menggunakan maximum() berfungsi untuk membandingkan dua nilai skalar, maka akan mengembalikan nilai skalar maksimum dari dua skalar. Sebagai contoh,


import numpy as np
arr = 15
arr1 = 24
  
# find maximum value 
arr2 = np.maximum(arr, arr1) 
print ("maximum of 15 and 24 : ", arr2) 

# Output
# maximum of 15 and 24 :  24

3.2 Dapatkan Nilai Maks dari Array 1-D

Contoh berikut menunjukkan cara mendapatkan nilai maksimum array NumPy 1-D menggunakan max(). Mari buat array NumPy menggunakan fungsi array() dan meneruskan array sebagai input ke fungsi. Sebagai contoh, di sini saya menggunakan fungsi max().


# Create an array
arr = np.array([16,10,96,32,50,64,85])

# Find maximum value of 1-D numpy array
arr1 = np.max(arr)
print('Maximum value in arr: ', arr1)

# Output
# Maximum value in arr:  96

4. Dapatkan Maksimum Dua Array NumPy

Saat membandingkan dua elemen array NumPy 1-D, ini akan mengembalikan nilai maksimum/maks dari dua elemen array. Mari kita ambil contoh,


arr = [22,34,88,99]
arr1 = [35,43,55,78]

# Get maximum values of two 1-D numpy arrays    
arr2 = np.maximum(arr,arr1) 
print(arr2)

# Output
# [35 43 88 99]

5. Dapatkan Nilai Maksimum Array 2-D

Bahkan jika kita tidak menentukan nilai sumbu larik 2-D ke fungsi ini, fungsi ini mengembalikan elemen maksimum yang ada dalam larik NumPy. Jika Anda ingin mendapatkan nilai maksimum kolom-bijaksana, Anda akan lulus axis=0 di max() maka ia mengembalikan array yang berisi nilai maks untuk masing-masing column. Jika kamu lulus axis=1 kemudian mengembalikan array yang berisi nilai maksimal untuk masing-masing row.


# Create 2-D NumPy array
arr = np.array([[15,28,57],
                [99,65,34],
                [39,68,69],
                [37,55,88]])

# Get the maximum value of 2D NumPy array
arr1 = np.max(arr)
print(arr1)

# Output
# 99

# Get the maximum values of each column
arr1 = np.max(arr, axis=0)
print(arr1)

# Output
# [99 68 88]

# Get the maximum values of each row  
arr1 = np.max(arr, axis=1)
print(arr1)

# Output
# [57 99 69 88]

6. Gunakan Fungsi maksimum() & NaN

Jika ada NaN dalam array NumPy yang diberikan maka itu akan mengembalikan NaN sebagai nilai maksimum. Kedua elemen dari dua array memiliki NaN kemudian yang mengembalikan elemen pertama. Jika Anda ingin mengabaikan NaN saat menemukan nilai maksimal, gunakan numpy.nanmax().


arr = np.array([4,9,14,np.nan,16])
arr1 = np.array([np.nan,9,18,np.nan,25])

# Use numpy.maximum() Function & NaN
arr2 = np.maximum(arr,arr1)
print(arr2)

# Output
# [nan  9. 18. nan 25.]

7. Kesimpulan

Pada artikel ini, saya telah menjelaskan cara mendapatkan nilai maksimum (nilai terbesar) dari array Numpy menggunakan a maximum() dan max()s dengan contoh. Saat membandingkan, salah satu elemen dari dua array adalah NaN, kemudian elemen tersebut dikembalikan sebagai NaN. Jika kedua elemen dari dua array adalah NaNs maka elemen pertama dikembalikan.

Selamat Belajar!!

Anda Mungkin Juga Menyukai

Referensi