NumPy 数组搜索
- หน้าก่อนหน้า NumPy 数组拆分
- หน้าต่อไป NumPy 数组排序
ค้นหาลูกศรัทย์
คุณสามารถค้นหาค่าในแนวคิดนี้ (ค้นหา) และกลับค่าดัชนีที่พบ
ถ้าต้องการค้นหาลูกศรัทย์ในแนวคิดนี้ ใช้ 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 ในตำแหน่งที่ดังกล่าวเพื่อที่จะรักษาลำดับ
วิธีนี้จะค้นหาจากด้านซ้ายและส่งกลับตำแหน่งที่ตัวเลข 7 ไม่มีมากกว่าตัวเลขต่อไป
ค้นหาจากด้านขวา
โดยมาตรฐาน จะส่งกลับตำแหน่งที่ด้านซ้ายสุด แต่เราสามารถกำหนด side='right'
เพื่อที่จะส่งกลับตำแหน่งที่ด้านขวาสุด
ตัวอย่าง
ค้นหาตำแหน่งที่จะใส่ค่า 7 จากด้านขวา
import numpy as np arr = np.array([6, 7, 8, 9]) x = np.searchsorted(arr, 7, side='right') print(x)
การอธิบายตัวอย่างควรใส่ตัวเลข 7 ในตำแหน่งที่ดังกล่าวเพื่อที่จะรักษาลำดับ
วิธีนี้จะค้นหาจากด้านขวาและส่งกลับตำแหน่งที่ตัวเลข 7 ไม่มีน้อยกว่าตัวเลขต่อไป
หลายค่า
ในกรณีที่ต้องการค้นหาหลายค่า ใช้ตัวเลขในแบบฟอร์มของตัวเลข
ตัวอย่าง
ค้นหาตำแหน่งที่จะใส่ค่า 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 ในลำดับเดิมเพื่อที่จะเก็บระบบลำดับ
- หน้าก่อนหน้า NumPy 数组拆分
- หน้าต่อไป NumPy 数组排序