فهرست سرفصل‌های NumPy
خانه (HOME) مقدمه (Intro) شروع کار (Getting Started) ساخت آرایه ها (Creating Arrays) ایندکس گذاری آرایه (Array Indexing) برش آرایه (Array Slicing) انواع داده (Data Types) کپی در برابر View (Copy vs View) شکل آرایه (Array Shape) تغییر شکل آرایه (Array Reshape) حلقه روی آرایه (Array Iterating) ترکیب آرایه ها (Array Join) تقسیم آرایه ها (Array Split) جستجو در آرایه (Array Search) مرتب سازی آرایه (Array Sort) فیلتر کردن آرایه (Array Filter) مقدمه تصادفی سازی (Random Intro) توزیع داده (Data Distribution) جابه جایی تصادفی (Random Permutation) ماژول Seaborn (Seaborn Module) توزیع نرمال (Normal Distribution) توزیع دوجمله ای (Binomial Distribution) توزیع پواسون (Poisson Distribution) توزیع یکنواخت (Uniform Distribution) توزیع لجستیک (Logistic Distribution) توزیع چندجمله ای (Multinomial Distribution) توزیع نمایی (Exponential Distribution) توزیع کای دو (Chi Square Distribution) توزیع ریلی (Rayleigh Distribution) توزیع پارتو (Pareto Distribution) توزیع زیف (Zipf Distribution) مقدمه ufunc (ufunc Intro) ساخت تابع ufunc (ufunc Create Function) حساب ساده با ufunc (ufunc Simple Arithmetic) گرد کردن اعشار با ufunc (ufunc Rounding Decimals) لگاریتم ها با ufunc (ufunc Logs) جمع ها با ufunc (ufunc Summations) حاصل ضرب ها با ufunc (ufunc Products) تفاضل ها با ufunc (ufunc Differences) کمترین مضرب مشترک با ufunc (ufunc Finding LCM) بزرگترین مقسوم علیه مشترک با ufunc (ufunc Finding GCD) توابع مثلثاتی با ufunc (ufunc Trigonometric) توابع هذلولوی با ufunc (ufunc Hyperbolic) عملیات مجموعه ای با ufunc (ufunc Set Operations) ویرایشگر (Editor) آزمون (Quiz) تمارین (Exercises) سرفصل دوره (Syllabus) برنامه مطالعه (Study Plan) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
NumPy

NumPy — مرتب سازی آرایه (Array Sort)

آخرین بروزرسانی: 1404/08/25

مرتب سازی آرایه (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] در می آید.

نکته: اگر بعداً بخواهی روی آرایه مرتب جستجو انجام دهی، صفحه جستجو در آرایه در نامپای می تواند کمک ات کند.

تمرین عملی مرتب سازی آرایه در نامپای

برای تمرین روی مرتب سازی آرایه در نامپای این مراحل را انجام بده:

  1. یک آرایه از نمره های امتحان بساز و آن را با np.sort() مرتب کن.
  2. یک آرایه از نام دانش آموزها بساز و آن را حروف الفبایی مرتب کن.
  3. یک آرایه دوبعدی از نمره درس های مختلف بساز و نتیجه مرتب سازی سطرها را بررسی کن.

اگر خواستی بعد از مرتب سازی، بعضی عناصر را حذف کنی، صفحه فیلتر کردن آرایه ها در نامپای را ببین. همچنین می توانی همیشه به این صفحه مرتب سازی آرایه در نامپای برگردی و نکته ها را مرور کنی.

جمع بندی سریع

  • مرتب سازی آرایه در نامپای با تابع np.sort() انجام می شود.
  • np.sort() روی آرایه اصلی اثر مستقیم ندارد و کپی برمی گرداند.
  • می توان عدد، رشته و مقدار بولی را با همان تابع مرتب کرد.
  • در آرایه دوبعدی، هر ردیف جداگانه مرتب می شود.
  • ترتیب مرتب شدن می تواند پایه خوبی برای جستجو و فیلتر کردن باشد.