NumPy Массиваас хайх /Search/
Массиваас тодорхой утгыг хайж, тохирох индекс хаягуудыг буцааж болно.
Массиваас тохирох утгыг where()
функцыг ашигладаг.
Жишээ нь
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 5, 5])
x = np.where((mas == 5))
print (x)
Үр дүн
(array([4, 7, 8]),)
Дээрх жишээ нь хайлтын үр дүнг Tuple-ээр буцаана: (array([4, 7, 8]),)
Tuple-н хичээлийн http://www.abcd.mn/course/lesson/186/ холбоосоор сэргээж үзнэ үү.
Дээрх жишээ нь массиваас 5-тай тэнцүү утгыг хайж, тэнцүү утга бүрийн индекс хаягыг бууцааж байна.
Жишээ нь
Бүхэл тоон дарааллын ТЭГШ тооны индексүүдийг олъё.
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
x = np.where((mas%2 == 0))
print (x)
Үр дүн
(array([1, 3, 5, 7]),)
Жишээ нь
Бүхэл тоон дарааллын СОНДГОЙ тооны индексүүдийг олъё.
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
x = np.where((mas%2 == 1))
print (x)
Үр дүн
(array([0, 2, 4, 6, 8]),)
Эрэмбэлэгдсэн хайлт Searchsorted()
Searchsorted()
функц нь эрэмбэлэгдсэн массивууд дээр хайлт хийж хайлтын дарааллыг хадгалдаг. Хайлт хийх үйлдлийн дараалал нь зүүнээс баруунд байх бөгөөд хайлтын үр дүн нь дараагийн утгаас ихгүй байх эхний индексийг буцаадаг.
Жишээ нь
5 гэсэн утга агуулж буй массивын индекс хаягыг олъё.
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
x = np.searchsorted((mas, 5))
print (x)
Үр дүн
4
Баруун талаас хийх /Right Side/
Анхны утга нь зүүн талаас хайлт хийдэг, Тэгвэл side='right'
шинж чанарыг ашиглан баруун талаас хайлт хийж болно.
Эрэмбэлэгдсэн хайлт Searchsorted()
Searchsorted()
функц нь эрэмбэлэгдсэн массивууд дээр хайлт хийж хайлтын дарааллыг хадгалдаг. Хайлт хийх үйлдлийн дараалал нь зүүнээс баруунд байх бөгөөд хайлтын үр дүн нь дараагийн утгаас ихгүй байх эхний индексийг буцаадаг.
Жишээ нь
5 гэсэн утга агуулж буй массивын индекс хаягыг олъё.
import numpy as np
mas = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
x = np.searchsorted((mas, 5, side = 'right'))
print (x)
Үр дүн
5