Dùng bộ lọc văn bản để loại bỏ bản ghi
Việc đặt nhiều câu hỏi cho khách hàng và dành thời gian hiểu các biến của bạn luôn rất đáng giá. Bạn phát hiện ra rằng Assumable mortgage là một tình huống hiếm trong ngành bất động sản và khách hàng gợi ý loại trừ chúng. Trong bài tập này, chúng ta sẽ dùng isin()—tương tự like() nhưng cho phép truyền một danh sách giá trị để lọc thay vì chỉ một giá trị.
Bài tập này là một phần của khóa học
Feature Engineering với PySpark
Hướng dẫn bài tập
- Dùng
select()vàshow()để kiểm tra các giá trị khác nhau trong cột'ASSUMABLEMORTGAGE'và tạo danh sáchyes_valuesgồm tất cả giá trị chứa chuỗi'Yes'. - Dùng
~df['ASSUMABLEMORTGAGE'],isin(), và.isNull()để tạo một bộ lọc PHỦ ĐỊNH (NOT) nhằm loại bỏ các bản ghi có giá trị tương ứng trong danh sáchyes_valuesvà giữ lại các bản ghi có giá trị null. Lưu bộ lọc này vào biếntext_filter. - Dùng
where()để áp dụngtext_filterlêndf. - In ra số lượng bản ghi còn lại trong
df.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(____.____())