ใช้ตัวกรองข้อความเพื่อลบระเบียน
การใช้เวลาซักถามลูกค้าและทำความเข้าใจตัวแปรให้ถ่องแท้นั้นมีประโยชน์มาก คุณพบว่า Assumable mortgage เป็นสิ่งที่พบได้ยากในวงการอสังหาริมทรัพย์ และลูกค้าแนะนำให้ตัดข้อมูลส่วนนี้ออก ในแบบฝึกหัดนี้จะใช้ isin() ซึ่งคล้ายกับ like() แต่รับรายการค่าหลายค่าเป็นตัวกรองแทนที่จะรับเพียงค่าเดียว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering with PySpark
คำแนะนำการฝึกหัด
- ใช้
select()และshow()เพื่อตรวจสอบค่าที่ไม่ซ้ำกันในคอลัมน์'ASSUMABLEMORTGAGE'จากนั้นสร้างรายการyes_valuesสำหรับค่าทั้งหมดที่มีสตริง'Yes' - ใช้
~df['ASSUMABLEMORTGAGE'],isin()และ.isNull()เพื่อสร้างตัวกรองแบบ NOT สำหรับลบระเบียนที่มีค่าตรงกับรายการyes_valuesและเก็บระเบียนที่มีค่า null ไว้ แล้วจัดเก็บตัวกรองนี้ในตัวแปรtext_filter - ใช้
where()เพื่อนำtext_filterไปใช้กับdf - แสดงจำนวนระเบียนที่เหลืออยู่ใน
df
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Inspect unique values in the column 'ASSUMABLEMORTGAGE'
df.____([____]).distinct().____()
# List of possible values containing 'yes'
yes_values = [____, ____]
# Filter the text values out of df but keep null values
text_filter = ~df['ASSUMABLEMORTGAGE'].isin(____) | df['ASSUMABLEMORTGAGE'].isNull()
df = df.____(text_filter)
# Print count of remaining records
print(____.____())