NumPy Array Search

ຄົ້ນຫາອາກາດ

ທ່ານສາມາດຄົ້ນຫາ (ຄົ້ນຫາ) ຄວາມຕັດສິນຢູ່ອາກາດແລະຫຼັງຈາກນັ້ນຈະບັນທຶກຄວາມຕັດສິນທີ່ຈະຖືກພົບ.

ເພື່ອຄົ້ນຫາອາກາດວ່າຈະຖືກນຳໃຊ້: where() ກົນລະບົບ.

ຄວາມນັບຖານ

ຄົ້ນຫາຫົວຂໍ້ທີ່ເປັນ 4:

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

ດຳເນີນຄວາມນັບຖານ

ກໍານົດຄຳວ່າຈະຖືກກັບຄືນມາພາຍໃນບາງຕາມ:(array([3, 5, 6],)

ຄວາມຈະກວດຫາວ່າຈຸດທີ່ວັດຈຳນວນ 4 ຈະຖືກພົບຢູ່ຫົວຂໍ້ທີ່ 3, 5 ແລະ 6.

ຄວາມນັບຖານ

ຄົ້ນຫາຫົວຂໍ້ທີ່ເປັນຈຸດນັບທີ່ແມ່ນສິ່ງມີສອງ:

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

ດຳເນີນຄວາມນັບຖານ

ຄວາມນັບຖານ

ຄົ້ນຫາຫົວຂໍ້ທີ່ເປັນຈຸດນັບທີ່ແມ່ນສິ່ງບໍ່ແມ່ນສອງ:

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

ດຳເນີນຄວາມນັບຖານ

ຄວາມຕັດສິນການຄົ້ນຫາ

ມີຊື່ວ່າ searchsorted() ກົນລະບົບຂອງພວກເຮົາວັດຈຳນວນວ່າມີຄວາມຕັດສິນວ່າຈະຖືກບັນທຶກໃນອາກາດວ່າຈະມີຄວາມຕັດສິນຂອງວ່າຈະມີຈຸດຢູ່ພາຍໃນສາຍຄັດຫຼືຈະມີຄວາມຕັດສິນທີ່ຈະຖືກບັນທຶກໃນສາຍຄັດ.

ຄວາມຕັດສິນ searchsorted() 方法用于排序数组。

ຄວາມນັບຖານ

查找应在其中插入值 7 的索引:

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

ດຳເນີນຄວາມນັບຖານ

ຄວາມອະທິບາຍຕົວຢ່າງ:ຄຳຂອງ 7 ຄວນຖືກຕິດຕັ້ງໃນບັນທຶກທີ່ 1 ເພື່ອຮັກສາການອັບສັບ.

ວິທີນີ້ຈະຄົ້ນຫາຈາກທາງຊ້າຍ ແລະ ກັບຄຳຕອບມາແມ່ນບັນທຶກທີ່ສຸດທ້າຍທີ່ບໍ່ຫຼາຍກວ່າຄຳຕໍ່ໄປ.

ຊ້າຍການຄົ້ນຫາ

ໂດຍການສະເໜີສະເພາະ, ຄຳຕອບມາແມ່ນບັນທຶກທີ່ສຸດທ້າຍ, ແຕ່ພວກເຮົາສາມາດການສະເໜີ side='right'ເພື່ອກັບຄຳຕອບມາແມ່ນບັນທຶກທີ່ສຸດທ້າຍ.

ຄວາມນັບຖານ

ຄົ້ນຫາບັນທຶກທີ່ຈະຕິດຕັ້ງຄຳຂອງ 7 ຈາກທາງຊ້າຍ:

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

ດຳເນີນຄວາມນັບຖານ

ຄວາມອະທິບາຍຕົວຢ່າງ:ຄຳຂອງ 7 ຄວນຖືກຕິດຕັ້ງໃນບັນທຶກທີ່ 2 ເພື່ອຮັກສາການອັບສັບ.

ວິທີນີ້ຈະຄົ້ນຫາຈາກທາງຊ້າຍ ແລະ ກັບຄຳຕອບມາແມ່ນບັນທຶກທີ່ສຸດທ້າຍທີ່ບໍ່ຕໍ່າກວ່າຄຳຕໍ່ໄປ.

ຄຳຂອງຫຼາຍຄຳ

ສຳລັບຄົ້ນຫາຫຼາຍຄຳຂອງຕົວເລກຈະນໍາໃຊ້ອາກາດຄຳຂອງຕົວເລກຈະນໍາໃຊ້.

ຄວາມນັບຖານ

ຄົ້ນຫາບັນທຶກທີ່ຈະຕິດຕັ້ງຄຳຂອງ 2, 4, 6:

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

ດຳເນີນຄວາມນັບຖານ

ຄຳຕອບມາແມ່ນອາກາດຄື:[1 2 3] ມີສິບສອງບັນທຶກທີ່ຈະຕິດຕັ້ງ 2, 4, 6 ໃນສະຖານະອອກລະບຽບເອມບອຍເພື່ອຮັກສາການອັບສັບ.