جستجوی آرایه‌های NumPy

جستجو در آرایه

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

برای جستجو در آرایه، از where() روش.

مثال

برای پیدا کردن شماره‌ای که برابر با 4 است، شماره‌های مربوطه را پیدا کنید:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)

مثال اجرا

در مثال بالا یک تورپل بازمی‌گرداند:(array([3, 5, 6],)

یعنی ارزش 4 در شماره 3، 5 و 6 قرار دارد.

مثال

برای پیدا کردن شماره‌ای که برابر با صفر است، شماره‌های مربوطه را پیدا کنید:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 0)
print(x)

مثال اجرا

مثال

برای پیدا کردن شماره‌ای که برابر با یک است، شماره‌های مربوطه را پیدا کنید:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 1)
print(x)

مثال اجرا

ترتیب جستجو

یک نام دارد searchsorted() این روش در آرایه‌ها عملیات جستجوی دودویی انجام می‌دهد و شماره‌ای که در آن باید ارزش مشخصی را قرار دهید تا به ترتیب جستجو حفظ شود را بازمی‌گرداند.

تصور کنید searchsorted() این روش برای مرتب‌سازی آرایه‌ها استفاده می‌شود.

مثال

برای پیدا کردن شاخصی که باید مقدار 7 را در آن قرار دهیم، جستجو کنید:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)

مثال اجرا

توضیح مثال:باید عدد 7 را در شاخص 1 قرار دهیم تا ترتیب مرتب باقی بماند.

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

جستجو از سمت راست

به طور پیش‌فرض، شاخص سمت چپ بازگردانده می‌شود، اما می‌توانیم side='right'برای بازگرداندن شاخص سمت راست.

مثال

برای پیدا کردن شاخصی که باید مقدار 7 را در آن قرار دهیم، از سمت راست جستجو کنید:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)

مثال اجرا

توضیح مثال:باید عدد 7 را در شاخص 2 قرار دهیم تا ترتیب مرتب باقی بماند.

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

مقادیر چندگانه

برای جستجو کردن چندین مقدار، از آرایه‌ای که دارای مقادیر مشخص شده است استفاده کنید.

مثال

برای پیدا کردن جایی که باید مقادیر 2، 4 و 6 را قرار دهیم، جستجو کنید:

import numpy as np
arr = np.array([1, 3, 5, 7])
x = np.searchsorted(arr, [2, 4, 6])
print(x)

مثال اجرا

مقدار بازگشتی یک آرایه است:[1 2 3] این شامل سه شاخص است که در آن‌ها 2، 4 و 6 را در آرایه اصلی به ترتیب قرار می‌دهند.