logo

numpy.argmax Pythonban

Sok esetben, amikor a tömb mérete túl nagy, túl sok időbe telik, hogy megtaláljuk belőlük a maximális elemeket. Erre a célra a Python numpy modulja egy ún numpy.argmax() . Ez a függvény a maximális értékek indexeit adja vissza, a megadott tengellyel együtt.

numpy argmax

Szintaxis:

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

Paraméterek

x: array_like

Ez a paraméter határozza meg azt a forrástömböt, amelynek maximális értékét szeretnénk tudni.

napfényes deol kor

tengely: int (nem kötelező)

Ez a paraméter határozza meg azt a tengelyt, amely mentén az index jelen van, és alapértelmezés szerint a lapított tömbbe kerül.

out: array (opcionális)

javascript oktatóanyag

Ez a paraméter határozza meg azt az ndarray-t, amelybe az eredményt be kell illeszteni. Ez ugyanolyan típusú és alakú lesz, ami alkalmas az eredmény tárolására

Visszatér

Ez a paraméter egy ndarray-t határoz meg, amely a tömb indexeit tartalmazza. A forma megegyezik a x.alak a tengely menti méret eltávolításával.

1. példa:

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

Kimenet:

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

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztunk egy tömböt 'x' segítségével np.arange() függvény négy sorból és öt oszlopból álló alakkal.
  • A tömb minden eleméhez hozzáadtunk 7-et is.
  • Deklaráltuk a változót 'és' és hozzárendelte a visszaadott értékét np.argmax() funkció.
  • Túljutottunk a tömbön 'x' a függvényben.
  • Végül megpróbáltuk kinyomtatni az értékét 'és' .

A kimenetben a tömb maximális elemének indexeit mutatja.

2. példa:

 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 

Kimenet:

 array([3, 3, 3, 3, 3], dtype=int64) array([4, 4, 4, 4], dtype=int64) 

3. példa:

 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] 

Kimenet:

 (3, 4) 26 

4. példa:

 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 

Kimenet:

java kapcsoló
 array([[0], [2], [2]]) array([5, 9, 6]) 

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztunk egy többdimenziós tömböt 'a ' használva np.array() funkció.
  • Deklaráltuk a változót 'index_arr' és hozzárendelte a visszaadott értékét np.argmax() funkció.
  • Túljutottunk a tömbön 'a' és a függvény tengelye.
  • Megpróbáltuk kinyomtatni az értékét 'index_arr' .
  • Végül két különböző módszerrel próbáltuk lekérni a tömb maximális értékét, amelyek nagyon hasonlítanak a np.argmax() .

A kimenetben a tömb maximális elemeinek indexeit és az ezen indexeken található értékeket mutatja.