במקרים מסוימים, אנו דורשים מערך ממוין לחישוב. למטרה זו, מודול numpy של Python מספק פונקציה שנקראת numpy.sort() . פונקציה זו נותנת עותק ממוין של מערך המקור או מערך הקלט.
תחביר:
numpy.sort(a, axis=-1, kind='quicksort', order=None)
פרמטרים:
x: array_like
פרמטר זה מגדיר את מערך המקור, אשר עומד להיות ממוין.
ציר: int או None (אופציונלי)
פרמטר זה מגדיר את הציר שלאורכו מתבצע המיון. אם פרמטר זה הוא אף אחד , המערך ישטח לפני המיון, וכברירת מחדל, פרמטר זה מוגדר ל-1, הממיין את המערך לאורך הציר האחרון.
סוג: {quicksort, heapsort, mergesort}(אופציונלי)
פרמטר זה משמש להגדרת אלגוריתם המיון, וכברירת מחדל, המיון מתבצע באמצעות 'מייר מהיר' .
רונאס בפאוורשל
סדר: str או רשימה של str(אופציונלי)
כאשר מערך מוגדר עם שדות, הסדר שלו מגדיר את השדות לביצוע השוואה בראשון, שני וכו'. ניתן לציין רק את השדה הבודד כמחרוזת, ולא בהכרח עבור כל השדות. עם זאת, השדות הלא פורטו עדיין ישמשו, לפי סדר הופעתם ב-dtype, כדי לשבור את הקשרים.
החזרות:
פונקציה זו מחזירה עותק ממוין של מערך המקור, שיהיה בעל צורה וסוג זהה למערך מקור.
דוגמה 1:
import numpy as np x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]]) x y=np.sort(x) y
תְפוּקָה:
מחרוזת של מערך c
array([[ 1, 4, 2, 3], [ 9, 13, 61, 1], [43, 24, 88, 22]]) array([[ 1, 2, 3, 4], [ 1, 9, 13, 61], [22, 24, 43, 88]])
בקוד למעלה
- ייבאנו numpy עם שם הכינוי np.
- יצרנו מערך רב מימדי 'איקס' באמצעות np.array() פוּנקצִיָה.
- הכרזנו על המשתנה 'ו' והוקצו את הערך המוחזר של np.sort() פוּנקצִיָה.
- עברנו את מערך הקלט 'איקס' בפונקציה.
- לבסוף, ניסינו להדפיס את הערך של 'ו' .
בפלט, הוא מציג עותק ממוין של מערך המקור מאותו סוג וצורה.
דוגמה 2:
import numpy as np x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]]) x y=np.sort(x, axis=None) y
תְפוּקָה:
array([[ 1, 4, 2, 3], [ 9, 13, 61, 1], [43, 24, 88, 22]]) array([ 1, 1, 2, 3, 4, 9, 13, 22, 24, 43, 61, 88])
דוגמה 3:
import numpy as np x=np.array([[1,4,2,3],[9,13,61,1],[43,24,88,22]]) x y=np.sort(x,axis=0) y z=np.sort(x,axis=1) z
תְפוּקָה:
array([[ 1, 4, 2, 1], [ 9, 13, 61, 3], [43, 24, 88, 22]]) array([[ 1, 2, 3, 4], [ 1, 9, 13, 61], [22, 24, 43, 88]])
דוגמה 4:
import numpy as np dtype = [('name', 'S10'), ('height', float), ('age', int),('gender','S10')] values = [('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'),('Vaishali', 5.2, 30, 'F')] x=np.array(values, dtype=dtype) x y=np.sort(x, order='age') y z=np.sort(x, order=['age','height']) z
תְפוּקָה:
array([('Shubham', 5.9, 23, 'M'), ('Arpita', 5.6, 23, 'F'), ('Vaishali', 5.2, 30, 'F')],dtype=[('name', 'S10'), ('height', '<f8'), ('age', ' <i4'), ('gender', 's10')]) array([('arpita', 5.6, 23, 'f'), ('shubham', 5.9, 'm'), ('vaishali', 5.2, 30, 'f')], dtype="[('name'," 's10'), ('height', '<f8'), < pre> <p> <strong>In the above code</strong> </p> <ul> <li>We have imported numpy with alias name np.</li> <li>We have defined the fields and values for the structured array.</li> <li>We have created a structured array <strong>'x'</strong> by passing dtype and values in the <strong>np.array()</strong> function.</li> <li>We have declared the variables <strong>'y'</strong> and <strong>'z'</strong> , and assigned the returned value of <strong>np.sort()</strong> function.</li> <li>We have passed the input array <strong>'x'</strong> and order in the function.</li> <li>Lastly, we tried to print the value of <strong>'y</strong> ' and <strong>'z'</strong> .</li> </ul> <p>In the output, it shows a sorted copy of the structured array with a defined order.</p> <hr></f8'),>