ایندکس پیشرفته
ایندکس پیشرفته در آرایههای NumPy
ایندکس پیشرفته یکی از قویترین ویژگیهای کتابخانه NumPy در پایتون است که به شما امکان دسترسی و تغییر دادهها در آرایهها را با روشهای مختلف میدهد. این تکنیکها به ویژه در پردازش دادههای بزرگ و عملیات ماتریسی بسیار مفید هستند.
نکته کلیدی: ایندکس پیشرفته برخلاف ایندکس معمولی، همیشه یک کپی از دادهها برمیگرداند نه یک ویو!
انواع ایندکس پیشرفته
در NumPy دو نوع اصلی ایندکس پیشرفته وجود دارد:
- ایندکس با آرایههای صحیح: استفاده از آرایههای صحیح برای انتخاب عناصر
- ایندکس با آرایههای بولی: استفاده از آرایههای شرطی برای فیلتر کردن دادهها
نوع ایندکس | مثال | کاربرد |
---|---|---|
آرایه صحیح | 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) |
ابعاد | حفظ ابعاد اصلی | ممکن است تغییر کند |
کارایی | سریعتر | کمی کندتر |
در نهایت، ایندکس پیشرفته ابزار قدرتمندی است که به شما امکان میدهد عملیات پیچیده روی آرایهها را با کد ساده و خوانا انجام دهید. با تمرین بیشتر میتوانید از تمام پتانسیل این ویژگی در پروژههای علمی و دادهکاوی خود استفاده کنید.