เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming ในบท Numpy Searching Arrays
นักเรียนสามารถหาอาร์เรย์เพื่อหาค่าบางค่าและส่งกลับดัชนีที่ได้รับการจับคู่แล้ว ในการหาอาร์เรย์จะใช้เมธอด where()
ตัวอย่าง
การหาดัชนีที่มีค่าเป็น 4
import numpy as np |
ผลลัพธ์
(array([3, 5, 6], dtype=int32),) |
ตัวอย่างข้างต้นจะคืนค่า tuple (array ([3, 5, 6],) ซึ่งหมายความว่าค่า 4 มีอยู่ที่ดัชนี 3, 5 และ 6
หาค่าแบบเรียงแล้ว
มีวิธีการที่เรียกว่า searchsorted() ซึ่งดำเนินการหาแบบไบนารีในอาร์เรย์และส่งกลับดัชนีซึ่งค่าที่ระบุจะถูกแทรก เพื่อรักษาลำดับการหา searchsorted() วิธีการนี้จะถือว่าใช้ในอาร์เรย์เรียงกัน
ตัวอย่าง
import numpy as np |
ผลลัพธ์
1 |
ตัวอย่างข้างต้นควรใส่หมายเลข 7 ในดัชนี 1 เพื่อคงลำดับการเรียงเอาไว้ วิธีการคือเริ่มการหาจากด้านซ้ายและส่งกลับดัชนีแรกที่หมายเลข 7 เเละไม่ใหญ่กว่าค่าถัดไป
Search From the Right Side
ตามค่าเริ่มต้นนั้นดัชนีด้านซ้ายส่วนใหญ่จะถูกส่งกลับ แต่เราสามารถให้ side = 'right' เพื่อส่งกลับดัชนีส่วนใหญ่ที่เหมาะสมแทนได้
ตัวอย่าง
import numpy as np |
ผลลัพธ์
2 |
ตัวอย่างข้างต้นควรใส่หมายเลข 7 ในดัชนี 2 เพื่อคงลำดับการเรียง วิธีการเริ่มการหาจากด้านขวาและส่งกลับดัชนีแรกที่หมายเลข 7 เเละไม่น้อยกว่าค่าถัดไป หากต้องการค้นหามากกว่าหนึ่งค่าให้ใช้อาร์เรย์ที่มีค่าที่ระบุ
ตัวอย่าง
import numpy as np |
ผลลัพธ์
[1 2 3] |
ค่าที่ส่งคืนคืออาร์เรย์ [1 2 3] ที่มีสามดัชนีโดยที่ 2, 4, 6 จะถูกแทรกในอาร์เรย์เดิมเพื่อรักษาลำดับ
สรุปในบทนี้สามารถหาอาร์เรย์เพื่อหาค่าบางค่าและส่งกลับดัชนีที่ได้รับการจับคู่แล้ว ในการหาอาร์เรย์จะใช้เมธอด where() เเล้วเจอกันในบทหน้าครับ
แปลจากhttps://www.w3schools.com/python/numpy_array_search.asp
Tag ที่น่าสนใจ: numpy searching_arrays where()_method searchsorted()_method array_searching python_programming numpy_array_manipulation
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com