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

การวนซ้ำด้วยฟังก์ชัน iterrows()

เราได้เรียนรู้วิธีสร้าง generator จาก pandas DataFrame ไปแล้ว คราวนี้จะนำ generator นั้นมาใช้งาน และดูวิธีประยุกต์ใช้กับการวนซ้ำใน pandas DataFrame โดยยังคงใช้ชุดข้อมูล poker_hands

โดยเฉพาะอย่างยิ่ง เราต้องการหาผลรวมของแต้มไพ่ทุกใบในมือ เมื่อ index ของมือนั้นเป็นเลขคี่ โดยแต้มของไพ่จะอยู่ในคอลัมน์คี่ของ DataFrame

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

การเขียนโค้ดที่มีประสิทธิภาพด้วย pandas

ดูคอร์ส

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

  • ตรวจสอบว่า index ของมือไพ่เป็นเลขคี่หรือไม่
  • ถ้าใช่ ให้คำนวณผลรวมของแต้มไพ่ทุกใบในมือนั้น การคำนวณอาจใช้เวลานานกว่าปกติเล็กน้อย

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

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

data_generator = poker_hands.iterrows()

for index, values in data_generator:
  	# Check if index is odd
    if ____:
      	# Sum the ranks of all the cards
        hand_sum = sum([____[1], ____[3], ____, ____, ____])
แก้ไขและรันโค้ด