Xử lý ký tự lạc (II)
Trong bài trước, dựa vào lệnh df.head() bạn có thể nhanh chóng nhận ra ký tự nào gây vấn đề. Nhưng nhiều khi điều đó không rõ ràng như vậy. Thường sẽ có những giá trị nằm sâu trong một cột ngăn bạn chuyển kiểu dữ liệu của cột sang số để dùng trong mô hình hoặc cho các bước feature engineering tiếp theo.
Một cách để tìm các giá trị này là ép cột về kiểu dữ liệu mong muốn bằng pd.to_numeric(), chuyển các giá trị có vấn đề thành NaN, rồi lọc DataFrame chỉ lấy các hàng chứa giá trị NaN.
Hãy thử ép cột RawSalary sang kiểu float — bạn sẽ thấy lỗi vì có thêm một ký tự khác xuất hiện. Hãy tìm ký tự đó và loại bỏ để có thể chuyển cột sang float.
Bài tập này là một phần của khóa học
Feature Engineering cho Machine Learning bằng Python
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.
# Attempt to convert the column to numeric values
numeric_vals = ____(so_survey_df['RawSalary'], errors='coerce')
# Find the indexes of missing values
idx = ____
# Print the relevant rows
print(so_survey_df['RawSalary']____)