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

When / Otherwise

โจทย์นี้คล้ายกับข้อที่แล้ว แต่คราวนี้ต้องการเพิ่มค่าหลายรูปแบบตามตำแหน่งของผู้ลงคะแนน ให้แก้ไข DataFrame voter_df โดยเพิ่มค่าสุ่มให้กับสมาชิกที่มีตำแหน่งเป็น Councilmember ใช้ค่า 2 สำหรับ Mayor และค่า 0 สำหรับตำแหน่งอื่น ๆ

DataFrame voter_df ถูกกำหนดไว้และพร้อมใช้งานแล้ว ไลบรารี pyspark.sql.functions พร้อมใช้งานในชื่อ F. สามารถใช้ F.rand() เพื่อสร้างค่าสุ่มได้

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

การทำความสะอาดข้อมูลด้วย PySpark

ดูคอร์ส

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

  • เพิ่มคอลัมน์ชื่อ random_val ใน voter_df โดยใช้ผลลัพธ์จากเมธอด F.rand() สำหรับผู้ลงคะแนนที่มีตำแหน่งเป็น Councilmember กำหนดให้ random_val เป็น 2 สำหรับ Mayor และกำหนดค่า 0 สำหรับตำแหน่งอื่น ๆ
  • แสดงแถวบางส่วนของ DataFrame และสังเกตว่าแต่ละเงื่อนไขทำงานถูกต้องหรือไม่
  • ใช้ .filter เพื่อกรองแถวที่มีค่า 0 ใน random_val

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

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

# Add a column to voter_df for a voter based on their position
voter_df = voter_df.____('random_val',
                               when(voter_df.TITLE == 'Councilmember', ____)
                               .____(____, 2)
                               ____

# Show some of the DataFrame rows
voter_df.show()

# Use the .filter() clause with random_val
voter_df.____(____).show()
แก้ไขและรันโค้ด