Cari Array NumPy

搜索数组

您可以在数组中搜索(检索)某个值,然后返回获得匹配的索引。

要搜索数组,请使用 where() 方法。

Contoh

查找值为 4 的索引:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x)

Jalankan Contoh

上例会返回一个元组:(array([3, 5, 6],)

意思就是值 4 出现在索引 3、5 和 6。

Contoh

查找值为偶数的索引:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 0)
print(x)

Jalankan Contoh

Contoh

查找值为奇数的索引:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
x = np.where(arr%2 == 1)
print(x)

Jalankan Contoh

搜索排序

有一个名为 searchsorted() 的方法,该方法在数组中执行二进制搜索,并返回将在其中插入指定值以维持搜索顺序的索引。

假定 searchsorted() metode ini digunakan untuk mengurutkan array.

Contoh

Cari indeks tempat nilai 7 harus disisipkan:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7)
print(x)

Jalankan Contoh

Pengertian Contoh:Angka 7 harus disisipkan di indeks 1 untuk mempertahankan urutan.

Metode ini mencari dari kiri, dan mengembalikan indeks pertama di mana angka 7 tidak lagi lebih besar dari nilai berikutnya.

Cari dari Sisi Kanan

Secara laku, indeks paling kiri akan dikembalikan, tetapi kita dapat menentukan side='right'untuk mengembalikan indeks paling kanan.

Contoh

Cari indeks tempat nilai 7 harus disisipkan dari kanan:

import numpy as np
arr = np.array([6, 7, 8, 9])
x = np.searchsorted(arr, 7, side='right')
print(x)

Jalankan Contoh

Pengertian Contoh:Angka 7 harus disisipkan di indeks 2 untuk mempertahankan urutan.

Metode ini mencari dari kanan, dan mengembalikan indeks pertama di mana angka 7 tidak lagi kurang dari nilai berikutnya.

Banyak nilai

Untuk mencari beberapa nilai, gunakan array dengan nilai yang ditentukan.

Contoh

Cari indeks tempat nilai 2, 4 dan 6 harus disisipkan:

import numpy as np
arr = np.array([1, 3, 5, 7])
x = np.searchsorted(arr, [2, 4, 6])
print(x)

Jalankan Contoh

Nilai kembalian adalah sebuah array:[1 2 3] Termasuk tiga indeks, di mana 2, 4, 6 akan disisipkan ke dalam array asli untuk mempertahankan urutan.