NumPy Array Search
Searching Arrays
Kita dapat mencari array untuk nilai tertentu, dan mengembalikan index yang cocok.
Untuk mencari array, gunakan where().
Contoh
Temukan index dimana nilainya adalah 4.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)Contoh diatas akan mengembalikan Tuple:
(array([3, 5, 6]),)
Yang artinya nilai 4 terdapat pada index 3, 5, dan 6.
Contoh
Temukan index dimana 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 index dimana 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)Search Sorted
Ada metode yang disebut searchsorted() yang melakukan pencarian biner dalam array, dan mengembalikan index dimana nilai yang ditentukan akan dimasukkan untuk mempertahankan urutan pencarian.
Metode searchsorted() ini diasumsikan digunakan pada array yang diurutkan.
Contoh
Temukan index dimana nilai 7 harus dimasukkan.
import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)Contoh menjelaskan: Angka 7 harus dimasukkan pada index 1 untuk tetap mengurutkan urutan.
Metode ini memulai pencarian dari kiri dan mengembalikan index pertama dimana angka 7 tidak lebih besar dari nilai berikutnya.
Search From the Right Side
Secara default index paling kiri dikembalikan, tetapi kita dapat memberikan side='right' untuk mengembalikan index paling kanan sebagai gantinya.
Contoh
Temukan index tempat 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)Contoh menjelaskan: Angka 7 harus dimasukkan pada index 2 untuk tetap mengurutkan urutan.
Metode memulai pencarian dari kanan dan mengembalikan index pertama dimana angka 7 tidak lagi kurang dari nilai berikutnya.
Multiple Values
Untuk mencari lebih dari satu nilai, gunakan array dengan nilai yang ditentukan.
Contoh
Temukan index dimana 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 index dimana 2, 4, 6 akan dimasukkan ke dalam array asli untuk mempertahankan urutannya.

Komentar
Posting Komentar