Kita dapat mencari (search) array pada nilai tertentu dan mengembalikan indeks yang sesuai.
Untuk mencari array, gunakan metode where().
Contoh:
Temukan indeks yang nilainya 4
Contoh di atas akan mengembalikan tupel: (array ([3, 5, 6],)
Artinya nilai 4 ada pada indeks 3, 5, dan 6.
Contoh:
Temukan indeks yang nilainya genap
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 0) print(x)
Contoh:
Temukan indeks yang nilainya ganjil
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6, 7, 8]) x = np.where(arr%2 == 1) print(x)
Pencarian Diurutkan
Ada metode yang disebut searchsorted() yang melakukan pencarian biner dalam array, dan mengembalikan indeks di mana nilai yang ditentukan akan disisipkan untuk mempertahankan urutan pencarian.
Metode searchsorted() diasumsikan dan digunakan pada array yang diurutkan.
Contoh:
Temukan indeks di mana nilai 7 harus dimasukkan
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7) print(x)
Penjelasan contoh: Angka 7 harus disisipkan pada indeks 1 untuk tetap menjadi urutan sortir.
Metode memulai pencarian dari kiri dan mengembalikan indeks pertama di mana angka 7 tidak lagi lebih besar dari nilai berikutnya.
Pencarian dari Sisi Kanan
Secara default indeks paling kiri yang akan dikembalikan, tetapi kita dapat memberikan side = ‘right’ untuk mengembalikan indeks paling kanan sebagai gantinya.
Contoh:
Temukan indeks di mana nilai 7 harus dimasukkan, mulai dari kanan
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7, side='right') print(x)
Penjelasan contoh: Angka 7 harus disisipkan pada indeks 2 untuk tetap menjadi urutan sortir.
Metode akan memulai pencarian dari kanan dan mengembalikan indeks pertama di mana angka 7 tidak lagi kurang dari nilai berikutnya.
Beberapa Nilai
Untuk mencari lebih dari satu nilai, gunakan array dengan nilai yang ditentukan.
Contoh
Temukan indeks di mana nilai 2, 4, dan 6 harus dimasukkan
import numpy as np arr = np.array([1, 3, 5, 7]) x = np.searchsorted(arr, [2, 4, 6]) print(x)
Nilai yang dikembalikan adalah array: [1 2 3] berisi tiga indeks di mana 2, 4, 6 akan disisipkan ke dalam array asli untuk mempertahankan urutan.