บางครั้งในขณะที่ประมวลผลข้อมูลโดยใช้ไลบรารี่ numpy เราอาจจำเป็นต้องกรองตัวเลขบางตัวในช่วงที่กำหนด ซึ่งสามารถทำได้โดยใช้วิธีการในตัวที่มีอยู่ในจำนวนมาก
มีและโอเปอเรเตอร์
ในวิธีนี้เราใช้อาร์เรย์ numpy จากนั้นใช้ฟังก์ชัน logical_and กับอาร์เรย์นั้น ส่วนคำสั่ง where ใน numpy ยังใช้เพื่อนำไปใช้กับ and condition ผลลัพธ์ที่ได้คืออาร์เรย์ที่แสดงตำแหน่งขององค์ประกอบที่ตรงตามเงื่อนไขของช่วงที่ต้องการ
import numpy as np A = np.array([5, 9, 11, 4, 31, 27,8]) # printing initial array print("Given Array : ", A) # Range 6 to 15 res = np.where(np.logical_and(A >= 6, A <= 15)) # Result print("Array with condition : ", res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given Array : [ 5 9 11 4 31 27 8] Array with condition : (array([1, 2, 6], dtype=int32),)
การใช้ *
ในวิธีนี้เราใช้ตัวดำเนินการ * โดยให้ผลลัพธ์เป็นค่าจริงแทนตำแหน่งของค่าในอาร์เรย์
import numpy as np A = np.array([5, 9, 11, 4, 31, 27,8]) # printing initial array print("Given Array : ", A) # Range 6 to 15 res = A [ (A >=6) * (A <= 15)] # Result print("Array with condition : ", res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given Array : [ 5 9 11 4 31 27 8] Array with condition : [ 9 11 8]