נפתרה: מציאת רכיבים מקסימליים לאורך עמודות באמצעות Python numpy.argmax%28%29

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

הצהרת בעיה ופתרון באמצעות numpy.argmax()

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

import numpy as np

# Sample 2D array
array = np.array([[1, 7, 3],
                  [4, 2, 9],
                  [5, 6, 8]])

# Finding maximum elements along columns
max_indices = np.argmax(array, axis=0)

print("Maximum elements along columns:", array[max_indices, range(len(max_indices))])

ראשית, בואו לייבא את ספריית NumPy עם הכינוי `np`. לאחר מכן, אנו יוצרים מערך דו-ממדי לדוגמה באמצעות `np.array()` ומעבירים רשימה מקוננת המכילה את ערכי השורה. לאחר מכן, אנו משתמשים בפונקציה `numpy.argmax()`, מעבירים את המערך יחד עם `axis=2`, אשר מציין שאנו רוצים לבצע את הפעולה לאורך העמודות. פונקציה זו מחזירה את המדדים של הרכיבים המקסימליים לאורך הציר שצוין. לבסוף, אנו מדפיסים את מקסימום האלמנטים לאורך העמודות באמצעות אינדקס מהודר.

הסבר שלב אחר שלב של הקוד

בסעיף זה, אנו הולכים לדון בעבודה שלב אחר שלב של הקוד.

1. ייבא את NumPy עם 'ייבוא ​​numpy כ-np'.

2. צור מערך דו-ממדי לדוגמה עם `array = np.array([[2, 1, 7], [3, 4, 2], [9, 5, 6]])`.

3. מצא את מיקומי האינדקס של הרכיבים המקסימליים לאורך העמודות באמצעות `np.argmax()` עם `axis=0`. זה מחזיר מערך של מדדים, למשל, `[2, 0, 1]`, המציין את מיקומי הרכיבים המקסימליים לאורך כל עמודה.

4. אינדקס מפואר מיושם כדי לחלץ מקסימום אלמנטים לאורך עמודות באמצעות `array[max_indices, range(len(max_indexes))]`. כאן, `max_indexes` מייצג שורות ו`range(len(max_indexes))` מייצג עמודות. זה מחזיר את מערך האלמנטים המקסימלי, למשל, `[5, 7, 9]`.

5. הדפס את התוצאה באמצעות הפונקציה `print()`.

שיקולים ודוגמאות נוספות

כאשר עובדים עם מערכים או מטריצות דו-ממדיות, יש מספר פונקציות בספריית NumPy כדי לסייע בביצוע משימות שונות. לדוגמה, אם אתה רוצה למצוא את הרכיב המקסימלי של המטריצה ​​כולה, אתה יכול להשתמש בפונקציה `numpy.amax()`. באופן דומה, אם אתה רוצה למצוא את הרכיבים המקסימליים לאורך השורות, אתה יכול להגדיר את פרמטר `ציר` של הפונקציה `numpy.argmax()` ל-`2`.

# Finding maximum elements along rows
max_indices_rows = np.argmax(array, axis=1)
print("Maximum elements along rows:", array[range(len(max_indices_rows)), max_indices_rows])

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

הודעות קשורות:

השאירו תגובה