مورد کاربرد این نوع از ایندکسگذاری، که به ایندکسگذاری منطقی معروف است، زمانی است که قصد انتخاب و یا تغییر المانهایی از آرایه را دارید که در شرط خاصی صدق نماید:
first_array = np.array([[12, 13, 14, 15],[16, 17, 18, 19]])
first_array < 17
Output: array([[ True, True, True, True],
[ True, False, False, False]])
همانطور که در مثال بالا مشاهده میکنید، ابتدا آرایهی دو بعدی تعریف شده است و در خط بعد، شرطی مبنی بر کوچکتر بودن اعداد از 17 لحاظ شده است و در زمان اجرا، مقدار تک تک المانها چک میشود و هر کدام که در شرط صدق نماید، خروجی True را برمیگرداند و در غیراینصورت مقدار False را برمیگرداند. همانطور که مشخص است خروجی 3 عدد آخر آرایه، چون از 17 کوچکتر است False برگردانده میشود. ( خود عدد 17 را شامل نمیشود.)
مثال:
در مثال زیر ابتدا شرط کوچکتر از 18 و بزرگتر از 13 در نظر گرفته میشود و سپس بر اساس آن، خروجی مناسب نمایش داده میشود:
c = (first_array <18) & (first_array > 13)
first_array[c]
Output: array ([14, 15, 16, 17])