Tafuta ya Makundi ya NumPy

Tafuta orodha

Wewe unaweza kutafuta (kufikia) thamani kwenye orodha, na kuachilia kichwa cha thamani za kifupi.

Kuwa na uadilifu wa orodha, tafuta kwa kutumia where() meho

Mfano

Tafuta kichwa cha thamani 4:

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

Mfano wa Ushiriki

Matokeo huo huikuwa kifupi:(array([3, 5, 6],)

Inamaanisha kwamba thamani 4 inaonekana kwenye kichwa cha 3, 5 na 6.

Mfano

Tafuta uadilifu wa thamani za uadilifu:

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

Mfano wa Ushiriki

Mfano

Tafuta uadilifu wa thamani za uadilifu:

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

Mfano wa Ushiriki

tafuta usoroto

kuna jina la searchsorted() meho huo hufanya tafuta kidhisia kwa msingi wa orodha, na kuachilia kichwa cha uadilifu ambao kinaingia kwa thamani kipya kwa kumewaagiza kusikia usahihi.

kumekuja searchsorted() Hii inatumiwa kusorwa orodha.

Mfano

Tafuta viwango ambavyo vitakapokua thamani 7.

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

Mfano wa Ushiriki

Mfano wa Kuelewa:Hakika wakati kwenye viwango 1 vitakapokua thamani 7 kumiliki uadilifu wa usorwa.

Hii inatafuta kuanzia chini, na inatuma viwango ambavyo thamani 7 haliwezi kumichukua thamani inayofuata.

Tafuta kutoka Nyuma

Kwa default, inatuma viwango ambavyo vinapokua chini zaidi, lakini tunaweza kuingia. side='right'Kwa kuretumia side='right'.

Mfano

Tafuta viwango ambavyo vitakapokua thamani 7 kuanzia juu.

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

Mfano wa Ushiriki

Mfano wa Kuelewa:Hakika wakati kwenye viwango 2 vitakapokua thamani 7 kumiliki uadilifu wa usorwa.

Hii inatafuta kuanzia juu, na inatuma viwango ambavyo thamani 7 haliwezi kumichukua thamani inayofuata.

Thamani Zaidi

Ili kutafuta thamani zaidi, tumia orodha yenye thamani yenye maana.

Mfano

Tafuta viwango ambavyo vitakapokua thamani 2, 4 na 6.

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

Mfano wa Ushiriki

Matokeo ni orodha:[1 2 3] Ina viwango tatu, ambavyo vitakapokua 2, 4, 6 kwenye orodha asili ili kumiliki uadilifu.