เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การกรองอาร์เรย์ด้วย Boolean indexing

นอกจากการ indexing ด้วยจำนวนเต็มแล้ว ยังสามารถใช้ Boolean indexing กับอาร์เรย์ได้อีกด้วย โดยการสร้าง Boolean array ที่มีค่าเป็น True ในตำแหน่งที่ต้องการเก็บไว้ ก็จะสามารถกรองอาร์เรย์ได้ วิธีนี้มีประโยชน์มากในการกรองอาร์เรย์หนึ่งโดยอิงจากค่าในอีกอาร์เรย์หนึ่ง

ในแบบฝึกหัดนี้ จะสำรวจว่าน้ำหนักแรกเกิดแตกต่างกันอย่างไรระหว่างสัตว์ที่มักออกลูกครั้งละตัวกับสัตว์ที่ออกลูกครั้งละหลายตัว โดยมี NumPy array สองชุดและแพ็กเกจ NumPy ในชื่อ np โหลดไว้ในเวิร์กสเปซแล้ว

  • litter_size คือขนาดครอกเฉลี่ยของสัตว์แต่ละชนิดจากข้อมูลกว่า 1,200 ชนิด
  • birth_weight คือน้ำหนักแรกเกิดเฉลี่ยของสัตว์แต่ละชนิดในหน่วยกรัม

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python สำหรับผู้ใช้ MATLAB

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง Boolean array ชื่อ mono_births และ multi_births สำหรับสัตว์ที่มักออกลูกครั้งละตัวและสัตว์ที่ออกลูกครั้งละมากกว่าหนึ่งตัวตามลำดับ
  • สร้างอาร์เรย์ mono_birth_weight และ multi_birth_weight ซึ่งเก็บน้ำหนักแรกเกิดของสัตว์ที่ออกลูกครั้งละตัวและสัตว์ที่ออกลูกครั้งละหลายตัวตามลำดับ
  • แสดงค่าเฉลี่ยน้ำหนักแรกเกิดของสัตว์ที่มักออกลูกครั้งละตัวและสัตว์ที่ออกลูกครั้งละมากกว่าหนึ่งตัว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create Boolean arrays that indicate mono births and multi births
mono_births = litter_size ____ 1.0
multi_births = ____

# Create two arrays of birth weights for mono and multi births
mono_birth_weight = birth_weight[____]
multi_birth_weight = ____

# Calculate the mean birth weight for mono birth and multi birth animals
print(np.____(mono_birth_weight))
print(np.____(____))
แก้ไขและรันโค้ด