logo

numpy.argmax ב-Python

במקרים רבים, שבהם גודל המערך גדול מדי, לוקח יותר מדי זמן למצוא מהם את הרכיבים המקסימליים. למטרה זו, מודול numpy של Python מספק פונקציה שנקראת numpy.argmax() . פונקציה זו מחזירה מדדים של הערכים המקסימליים המוחזרים יחד עם הציר שצוין.

numpy argmax

תחביר:

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

פרמטרים

x: array_like

פרמטר זה מגדיר את מערך המקור שאת ערכו המקסימלי אנו רוצים לדעת.

ההבדל בין נמר לאריה

ציר: int (אופציונלי)

פרמטר זה מגדיר את הציר שלאורכו נמצא האינדקס, וכברירת מחדל, הוא נמצא במערך השטוח.

החוצה: מערך (אופציונלי)

פרמטר זה מגדיר את ה-ndarray שבו התוצאה הולכת להיות מוכנסת. זה יהיה מאותו סוג וצורה, המתאים לאחסון התוצאה

החזרות

פרמטר זה מגדיר ndarray, המכיל את המדדים של המערך. הצורה זהה ל x.צורה כשהממד לאורך הציר הוסר.

דוגמה 1:

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

תְפוּקָה:

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

בקוד למעלה

  • ייבאנו numpy עם שם הכינוי np.
  • יצרנו מערך 'איקס' באמצעות np.arange() פונקציה עם צורה של ארבע שורות וחמש עמודות.
  • הוספנו גם 7 בכל אלמנט של המערך.
  • הכרזנו על המשתנה 'ו' והוקצו את הערך המוחזר של np.argmax() פוּנקצִיָה.
  • עברנו את המערך 'איקס' בפונקציה.
  • לבסוף, ניסינו להדפיס את הערך של 'ו' .

בפלט, הוא מציג את המדדים של האלמנט המקסימלי במערך.

בוטנים מול אגוז אדמה

דוגמה 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 

תְפוּקָה:

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

דוגמה 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] 

תְפוּקָה:

 (3, 4) 26 

דוגמה 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 

תְפוּקָה:

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

בקוד למעלה

  • ייבאנו numpy עם שם הכינוי np.
  • יצרנו מערך רב מימדי 'משתמש np.array() פוּנקצִיָה.
  • הכרזנו על המשתנה 'index_arr' והוקצו את הערך המוחזר של np.argmax() פוּנקצִיָה.
  • עברנו את המערך 'א' והציר בפונקציה.
  • ניסינו להדפיס את הערך של 'index_arr' .
  • בסופו של דבר ניסינו להביא את הערך המקסימלי של המערך בעזרת שתי דרכים שונות, שדי דומות ל np.argmax() .

בפלט, הוא מציג מדדים של הרכיבים המקסימליים במערך ואת הערכים הקיימים במדדים אלה.