logo

Python'da numpy.argmax

Dizinin boyutunun çok büyük olduğu birçok durumda, onlardan maksimum öğeleri bulmak çok fazla zaman alır. Bu amaçla Python'un numpy modülü, adı verilen bir fonksiyon sağlar. numpy.argmax() . Bu fonksiyon, maksimum değerlerin indekslerini belirtilen eksenle birlikte döndürür.

numpy argmax

Sözdizimi:

 numpy.argmax(a, axis=None, out=None) 

Parametreler

x: dizi_benzeri

Bu parametre maksimum değerini bilmek istediğimiz kaynak dizisini tanımlar.

javascript yorumu

eksen: int(isteğe bağlı)

Bu parametre, dizinin mevcut olduğu ekseni tanımlar ve varsayılan olarak düzleştirilmiş dizidedir.

çıkış: dizi (isteğe bağlı)

Bu parametre, sonucun ekleneceği ndarray'i tanımlar. Bu, sonucun saklanması için uygun olan aynı tip ve şekilde olacaktır.

İadeler

Bu parametre dizinin indekslerini içeren bir ndarray'i tanımlar. Şekli aynı x.şekli eksen boyunca boyut kaldırılmış halde.

Java'da ayarlanan yol

Örnek 1:

 Import numpy as np x = np.arange(20).reshape(4,5) + 7 x y=np.argmax(a) y 

Çıktı:

 array([[ 7, 8, 9, 10, 11], [12, 13, 14, 15, 16], [17, 18, 19, 20, 21], [22, 23, 24, 25, 26]]) 19 

Yukarıdaki kodda

  • Numpy'yi np takma adıyla içe aktardık.
  • Bir dizi oluşturduk 'X' kullanarak np.arange() dört sıra ve beş sütun şeklinde çalışır.
  • Dizinin her elemanına da 7 ekledik.
  • Değişkeni bildirdik 'Ve' ve döndürülen değeri atadı np.argmax() işlev.
  • Diziyi geçtik 'X' fonksiyonda.
  • Son olarak değerini yazdırmaya çalıştık. 'Ve' .

Çıktıda dizideki maksimum elemanın indekslerini gösterir.

Örnek 2:

 Import numpy as np x = np.arange(20).reshape(4,5) + 7 y=np.argmax(x, axis=0) z=np.argmax(x, axis=1) y z 

Çıktı:

java bağlantısı mysql
 array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64) 

Örnek 3:

 Import numpy as np x = np.arange(20).reshape(4,5) + 7 indices = np.unravel_index(np.argmax(x, axis=None), x.shape) indices x[indices] 

Çıktı:

 (3, 4) 26 

Örnek 4:

 import numpy as np a = np.array([[5,2,1], [3,7,9],[0, 4, 6]]) index_arr = np.argmax(a, axis=-1) index_arr # Same as np.max(a, axis=-1, keepdims=True) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1) result1 # Same as np.max(a, axis=-1) result = np.take_along_axis(a, np.expand_dims(index_arr, axis=-1), axis=-1).squeeze(axis=-1) result2 

Çıktı:

 array([[0], [2], [2]]) array([5, 9, 6]) 

Yukarıdaki kodda

  • Numpy'yi np takma adıyla içe aktardık.
  • Çok boyutlu bir dizi oluşturduk 'A ' kullanarak np.array() işlev.
  • Değişkeni bildirdik 'index_arr' ve döndürülen değeri atadı np.argmax() işlev.
  • Diziyi geçtik 'A' ve fonksiyondaki eksen.
  • değerini yazdırmaya çalıştık. 'index_arr' .
  • Sonuçta diziye oldukça benzeyen iki farklı yol yardımıyla dizinin maksimum değerini elde etmeye çalıştık. np.argmax() .

Çıktıda dizideki maksimum elemanların indekslerini ve bu indekslerde bulunan değerleri gösterir.