Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ค้นหาองค์ประกอบภายในช่วงเป็นจำนวนใน Python


บางครั้งในขณะที่ประมวลผลข้อมูลโดยใช้ไลบรารี่ 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]