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

ایندکس پیشرفته در آرایه‌های NumPy

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

نکته کلیدی: ایندکس پیشرفته برخلاف ایندکس معمولی، همیشه یک کپی از داده‌ها برمی‌گرداند نه یک ویو!

انواع ایندکس پیشرفته

در NumPy دو نوع اصلی ایندکس پیشرفته وجود دارد:

  1. ایندکس با آرایه‌های صحیح: استفاده از آرایه‌های صحیح برای انتخاب عناصر
  2. ایندکس با آرایه‌های بولی: استفاده از آرایه‌های شرطی برای فیلتر کردن داده‌ها
نوع ایندکس مثال کاربرد
آرایه صحیح arr[[0, 2, 4]] انتخاب عناصر با ایندکس‌های مشخص
آرایه بولی arr[arr > 5] فیلتر کردن بر اساس شرط

مثال‌های کاربردی

برای درک بهتر ایندکس پیشرفته، به این مثال‌ها توجه کنید:

  • انتخاب سطرهای خاص از یک ماتریس
  • استخراج مقادیر بزرگتر از یک آستانه مشخص
  • جایگزینی مقادیر بر اساس چندین شرط
  • انتخاب تصادفی عناصر از آرایه

برای مثال، اگر بخواهیم تمام مقادیر بزرگتر از ۵ را در یک آرایه انتخاب کنیم:

import numpy as np

arr = np.array([1, 4, 7, 2, 9, 5])

result = arr[arr > 5]

print(result) # خروجی: [7 9]

برای یادگیری عمیق‌تر درباره کار با آرایه‌ها در NumPy، می‌توانید اینجا را بخوانید.

تفاوت‌های کلیدی

ایندکس پیشرفته چند تفاوت اساسی با ایندکس معمولی دارد:

ویژگی ایندکس معمولی ایندکس پیشرفته
نوع خروجی ویو (View) کپی (Copy)
ابعاد حفظ ابعاد اصلی ممکن است تغییر کند
کارایی سریع‌تر کمی کندتر

در نهایت، ایندکس پیشرفته ابزار قدرتمندی است که به شما امکان می‌دهد عملیات پیچیده روی آرایه‌ها را با کد ساده و خوانا انجام دهید. با تمرین بیشتر می‌توانید از تمام پتانسیل این ویژگی در پروژه‌های علمی و داده‌کاوی خود استفاده کنید.