NumPy Dizi Arama


Dizi Arama

Bir diziyi belirli bir değer için arayabilir ve eşleşen dizinleri döndürebilirsiniz.

Bir diziyi aramak için where()yöntemi kullanın.

Örnek

Değerin 4 olduğu dizinleri bulun:

import numpy as np

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

x = np.where(arr == 4)

print(x)

Yukarıdaki örnek bir Tuple döndürür:(array([3, 5, 6],)

Bu, 4 değerinin dizin 3, 5 ve 6'da mevcut olduğu anlamına gelir.

Örnek

Değerlerin eşit olduğu dizinleri bulun:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

x = np.where(arr%2 == 0)

print(x)

Örnek

Değerlerin tek olduğu dizinleri bulun:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

x = np.where(arr%2 == 1)

print(x)


Arama Sıralanmış

searchsorted()Dizide ikili arama yapan ve arama sırasını korumak için belirtilen değerin ekleneceği dizini döndüren bir yöntem var .

Yöntemin searchsorted()sıralanmış dizilerde kullanıldığı varsayılmaktadır.

Örnek

7 değerinin eklenmesi gereken dizinleri bulun:

import numpy as np

arr = np.array([6, 7, 8, 9])

x = np.searchsorted(arr, 7)

print(x)

Açıklanan örnek: Sıralama düzenini korumak için 7 sayısı dizin 1'e eklenmelidir.

Yöntem, aramayı soldan başlatır ve 7 sayısının artık bir sonraki değerden daha büyük olmadığı ilk dizini döndürür.

Sağ Taraftan Ara

Varsayılan olarak en soldaki dizin döndürülür, ancak side='right'bunun yerine en sağdaki dizini döndürmek için verebiliriz.

Örnek

Sağdan başlayarak 7 değerinin eklenmesi gereken dizinleri bulun:

import numpy as np

arr = np.array([6, 7, 8, 9])

x = np.searchsorted(arr, 7, side='right')

print(x)

Açıklanan örnek: Sıralama düzenini korumak için 7 sayısı dizin 2'ye eklenmelidir.

Yöntem, aramayı sağdan başlatır ve 7 sayısının artık bir sonraki değerden daha az olmadığı ilk dizini döndürür.

Çoklu Değerler

Birden fazla değer aramak için belirtilen değerlere sahip bir dizi kullanın.

Örnek

2, 4 ve 6 değerlerinin eklenmesi gereken dizinleri bulun:

import numpy as np

arr = np.array([1, 3, 5, 7])

x = np.searchsorted(arr, [2, 4, 6])

print(x)

Dönüş değeri bir dizidir: [1 2 3]sırayı korumak için orijinal diziye 2, 4, 6'nın ekleneceği üç dizini içerir.


Egzersizlerle Kendinizi Test Edin

Egzersiz yapmak:

4 değerine sahip tüm öğeleri bulmak için doğru NumPy yöntemini kullanın.

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

x = np.(arr == 4)