Boolean operators กับ NumPy
ก่อนหน้านี้ ตัวดำเนินการเปรียบเทียบอย่าง < และ >= ทำงานกับ NumPy array ได้โดยตรง แต่น่าเสียดายที่ Boolean operators อย่าง and, or และ not ไม่สามารถใช้งานในลักษณะเดียวกันได้
หากต้องการใช้ตัวดำเนินการเหล่านี้กับ NumPy ต้องใช้ np.logical_and(), np.logical_or() และ np.logical_not() แทน ดูตัวอย่างด้านล่างที่ใช้กับ array my_house และ your_house จากบทก่อนหน้า:
np.logical_and(my_house > 13,
your_house < 15)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python ระดับกลาง
คำแนะนำการฝึกหัด
- สร้าง Boolean array เพื่อตอบคำถามต่อไปนี้:
- พื้นที่ใดใน
my_houseที่มีค่ามากกว่า18.5หรือน้อยกว่า10? - พื้นที่ใดที่มีค่าน้อยกว่า
11ทั้งในmy_houseและyour_house? อย่าลืมครอบคำสั่งทั้งสองด้วยprint()เพื่อตรวจสอบผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create arrays
import numpy as np
my_house = np.array([18.0, 20.0, 10.75, 9.50])
your_house = np.array([14.0, 24.0, 14.25, 9.0])
# my_house greater than 18.5 or smaller than 10
# Both my_house and your_house smaller than 11