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

การแยกข้อความเพื่อสร้าง Feature ใหม่

โรงจอดรถเป็นปัจจัยสำคัญสำหรับบ้านในรัฐมินนิโซตา เนื่องจากคนส่วนใหญ่มีรถยนต์และการขูดหิมะออกจากรถที่จอดกลางแจ้งเป็นเรื่องน่าหนักใจ ประเภทของโรงจอดรถก็มีความสำคัญเช่นกัน เพราะมีผลต่อการเข้าถึงรถโดยไม่ต้องออกไปเผชิญกับความหนาวเย็น มาลองสร้าง feature ชื่อ has_attached_garage เพื่อบันทึกว่าโรงจอดรถนั้นติดกับตัวบ้านหรือไม่

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

Feature Engineering with PySpark

ดูคอร์ส

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

  • นำเข้าฟังก์ชัน when() จาก pyspark.sql.functions
  • สร้างเงื่อนไขการจับคู่สตริงโดยใช้ like() เพื่อค้นหารูปแบบ Attached Garage ใน df['GARAGEDESCRIPTION'] พร้อมใช้ wildcard % เพื่อให้ตรงกับข้อความในตำแหน่งใดก็ได้
  • สร้างเงื่อนไขอีกหนึ่งรายการโดยใช้ like() เพื่อค้นหารูปแบบ Detached Garage ใน df['GARAGEDESCRIPTION'] พร้อมใช้ wildcard % เช่นเดียวกัน
  • สร้างคอลัมน์ใหม่ชื่อ has_attached_garage โดยใช้ when() กำหนดค่า 1 หากเป็นโรงจอดรถแบบติดบ้าน กำหนดค่า 0 หากเป็นแบบแยกออกมา และใช้ otherwise() กำหนดค่า null ด้วย None หากไม่ใช่ทั้งสองกรณี

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

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

# Import needed functions
____ ____ ____ ____

# Create boolean conditions for string matches
has_attached_garage = df[____].____(____)
has_detached_garage = df[____].____(____)

# Conditional value assignment 
df = df.withColumn(____, (____(____, 1)
                                          .____(____, 0)
                                          .____(____)))

# Inspect results
df[['GARAGEDESCRIPTION', 'has_attached_garage']].show(truncate=100)
แก้ไขและรันโค้ด