ایندکس و slice آرایه

ایندکس و slice آرایه در NumPy

در کتابخانه NumPy پایتون، ایندکس‌گذاری و برش‌زدن (slicing) آرایه‌ها از مهم‌ترین مفاهیم برای دسترسی به داده‌ها هستند. این تکنیک‌ها به شما امکان می‌دهند بخش‌های خاصی از آرایه را انتخاب یا تغییر دهید.

ایندکس‌گذاری پایه

آرایه‌های NumPy مانند لیست‌های پایتون از ایندکس‌گذاری صفرمحور استفاده می‌کنند:

مثال توضیح
arr[0] اولین عنصر آرایه
arr[-1] آخرین عنصر آرایه

برش‌زدن (Slicing) آرایه‌ها

سینتکس slice در NumPy به صورت start:stop:step است:

  1. start: ایندکس شروع (شامل می‌شود)
  2. stop: ایندکس پایان (شامل نمی‌شود)
  3. step: گام انتخاب عناصر

مثال کاربردی:

اگر آرایه‌ای با 10 عنصر داشته باشیم، دستور arr[2:7:2] عناصر با ایندکس‌های 2، 4 و 6 را برمی‌گرداند.

ایندکس‌گذاری در آرایه‌های چندبعدی

برای آرایه‌های دوبعدی (ماتریس‌ها) از کاما برای جداکردن محورها استفاده می‌کنیم:

  • arr[1, 2] → عنصر در سطر 1 و ستون 2
  • arr[:, 1] → تمام عناصر ستون 1
  • arr[1:3, :] → سطرهای 1 تا 2 با تمام ستون‌ها
نکته مهم: در NumPy برخلاف لیست‌های پایتون، slice‌ها view از آرایه اصلی هستند نه کپی. بنابراین تغییر در slice مستقیماً روی داده اصلی اثر می‌گذارد.

ایندکس‌گذاری پیشرفته

NumPy روش‌های پیشرفته‌تری نیز ارائه می‌دهد:

نوع توضیح
ایندکس‌گذاری بولین انتخاب عناصر براساس شرط منطقی
ایندکس‌گذاری آرایه‌ای انتخاب عناصر با لیست ایندکس‌ها

برای یادگیری عمیق‌تر این مفاهیم می‌توانید مشاهده کنید.


در این مقاله با روش‌های مختلف دسترسی به داده‌های آرایه NumPy آشنا شدید. تسلط بر این تکنیک‌ها برای پردازش داده‌ها در یادگیری ماشین و علوم داده ضروری است.