กวดวิชาNumPy

NumPy HOME แนะนำ NumPy NumPy เริ่มต้นใช้งาน NumPy การสร้างอาร์เรย์ การจัดทำดัชนี NumPy Array NumPy Array Slicing ประเภทข้อมูล NumPy NumPy Copy เทียบกับ View NumPy Array Shape การปรับรูปร่าง NumPy Array NumPy Array Iterating NumPy Array เข้าร่วม NumPy Array Split ค้นหาอาร์เรย์ NumPy NumPy Array Sort ตัวกรองอาร์เรย์ NumPy

NumPyสุ่ม

สุ่มอินโทร การกระจายข้อมูล การเรียงสับเปลี่ยนแบบสุ่ม โมดูล Seaborn การกระจายแบบปกติ การกระจายทวินาม จำหน่ายปลา กระจายสม่ำเสมอ การกระจายโลจิสติกส์ การกระจายพหุนาม การกระจายแบบเอกซ์โพเนนเชียล จิสแควร์ ดิสทริบิวชั่น การกระจาย Rayleigh พาเรโต้ ดิสทริบิวชั่น การกระจาย Zipf

NumPy ufunc

ufunc Intro ufunc สร้างฟังก์ชัน ufunc เลขคณิตอย่างง่าย ufunc การปัดเศษทศนิยม ufunc บันทึก ufunc ผลรวม ufunc ผลิตภัณฑ์ ufunc ความแตกต่าง ufunc ค้นหา LCM ufunc กำลังหา GCD ufunc ตรีโกณมิติ ufunc ไฮเปอร์โบลิก ufunc Set Operations

แบบทดสอบ/แบบฝึกหัด

แบบทดสอบ 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 บนดัชนี 1 เพื่อคงลำดับการจัดเรียง

วิธีการเริ่มการค้นหาจากด้านซ้ายและส่งคืนดัชนีแรกที่หมายเลข 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 บนดัชนี 2 เพื่อคงลำดับการจัดเรียง

วิธีการเริ่มการค้นหาจากด้านขวาและส่งคืนดัชนีแรกที่หมายเลข 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 ที่ถูกต้องเพื่อค้นหารายการทั้งหมดที่มีค่า 4

arr = np.array([1, 2, 3, 4, 5, 4, 4])

x = np.(arr == 4)