مرتب سازی آرایه (Array Sort)
در این صفحه درباره مرتب سازی آرایه در نامپای صحبت می کنیم. یعنی عناصر را طوری بچینیم که مرتب و منظم شوند؛ مثل مرتب کردن نمره ها از کم به زیاد.
مرتب سازی آرایه در نامپای یعنی چه؟
مرتب سازی یعنی قرار دادن عناصر در یک دنباله مرتب. دنباله مرتب می تواند عددی یا حروفی باشد؛ صعودی یا نزولی.
تابع np.sort() روی آرایه کار می کند و یک کپی مرتب شده برمی گرداند. کپی یعنی آرایه اصلی دست نخورده می ماند.
مرتب سازی آرایه یک بعدی با np.sort
ساده ترین حالت مرتب سازی آرایه در نامپای روی یک آرایه عددی یک بعدی است.
import numpy as np
arr = np.array([3, 2, 0, 1])
print(np.sort(arr))
تابع np.sort() آرایه مرتب شده را برمی گرداند. اما خود arr تغییر نمی کند؛ این نکته برای حفظ داده اصلی مهم است.
مرتب سازی رشته ها و مقادیر بولی
می توانیم روی رشته ها هم مرتب سازی انجام دهیم. رشته (String) یعنی متن؛ مثل نام میوه ها.
import numpy as np
arr = np.array(["banana", "cherry", "apple"])
print(np.sort(arr))
در این مثال، رشته ها به ترتیب حروف الفبا مرتب می شوند. مثل لیست اسم های کلاس که بر اساس نام خانوادگی مرتب می کنی.
نوع بولی (Boolean) یعنی فقط دو مقدار True یا False. این نوع هم قابل مرتب سازی است.
import numpy as np
arr = np.array([True, False, True])
print(np.sort(arr))
در مرتب سازی بولی، معمولاً False قبل از True می آید. چون انگار صفر از یک کوچک تر است.
مرتب سازی آرایه دوبعدی
وقتی یک آرایه دوبعدی را مرتب می کنیم، هر ردیف جداگانه مرتب می شود. یعنی نامپای به هر سطر مثل یک آرایه مستقل نگاه می کند.
import numpy as np
arr = np.array([[3, 2, 4], [5, 0, 1]])
print(np.sort(arr))
خروجی شامل دو ردیف مرتب شده است. ردیف اول به صورت [2 3 4] و ردیف دوم به صورت [0 1 5] در می آید.
نکته: اگر بعداً بخواهی روی آرایه مرتب جستجو انجام دهی، صفحه جستجو در آرایه در نامپای می تواند کمک ات کند.
تمرین عملی مرتب سازی آرایه در نامپای
برای تمرین روی مرتب سازی آرایه در نامپای این مراحل را انجام بده:
- یک آرایه از نمره های امتحان بساز و آن را با
np.sort()مرتب کن. - یک آرایه از نام دانش آموزها بساز و آن را حروف الفبایی مرتب کن.
- یک آرایه دوبعدی از نمره درس های مختلف بساز و نتیجه مرتب سازی سطرها را بررسی کن.
اگر خواستی بعد از مرتب سازی، بعضی عناصر را حذف کنی، صفحه فیلتر کردن آرایه ها در نامپای را ببین. همچنین می توانی همیشه به این صفحه مرتب سازی آرایه در نامپای برگردی و نکته ها را مرور کنی.
جمع بندی سریع
- مرتب سازی آرایه در نامپای با تابع
np.sort()انجام می شود. np.sort()روی آرایه اصلی اثر مستقیم ندارد و کپی برمی گرداند.- می توان عدد، رشته و مقدار بولی را با همان تابع مرتب کرد.
- در آرایه دوبعدی، هر ردیف جداگانه مرتب می شود.
- ترتیب مرتب شدن می تواند پایه خوبی برای جستجو و فیلتر کردن باشد.