logo

numpy.argmax في بايثون

في كثير من الحالات، حيث يكون حجم المصفوفة كبيرًا جدًا، يستغرق الأمر وقتًا طويلاً للعثور على الحد الأقصى من العناصر منها. لهذا الغرض، توفر الوحدة numpy في Python وظيفة تسمى numpy.argmax() . تقوم هذه الدالة بإرجاع مؤشرات القيم القصوى التي يتم إرجاعها مع المحور المحدد.

numpy argmax

بناء الجملة:

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

حدود

س: array_like

تحدد هذه المعلمة المصفوفة المصدر التي نريد معرفة قيمتها القصوى.

ملفات لينكس

المحور: كثافة العمليات (اختياري)

تحدد هذه المعلمة المحور الذي يوجد به الفهرس، ويكون موجودًا بشكل افتراضي في المصفوفة المسطحة.

خارج: صفيف (اختياري)

تحدد هذه المعلمة ndarray الذي سيتم إدراج النتيجة فيه. سيكون هذا من نفس النوع والشكل المناسب لتخزين النتيجة

الممثل تشيرانجيفي

عائدات

تحدد هذه المعلمة ndarray، الذي يحتوي على مؤشرات المصفوفة. الشكل هو نفسه x.shape مع إزالة البعد على طول المحور.

مثال 1:

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

انتاج:

 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] 

انتاج:

أفضل 10 هنتاي
 (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() .

في الإخراج، يظهر مؤشرات الحد الأقصى للعناصر في المصفوفة والقيم الموجودة في تلك المؤشرات.