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([1234544])

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([12345678])

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

print(x)

Contoh
Temukan index dimana nilainya ganjil.
import numpy as np

arr = np.array([12345678])

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([6789])

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([6789])

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([1357])

x = np.searchsorted(arr, [246])

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

Postingan populer dari blog ini

NumPy Array Split

NumPy Array Iterating