Thay thế rating bằng trung vị theo nhóm
Ở bài trước, bạn đã thay thế các giá trị thiếu trong cột rating bằng trung vị của cả cột. Nhưng liệu có cách tốt hơn không? Có! Bạn có thể thay giá trị thiếu bằng trung vị điểm đánh giá của các thanh chocolate thuộc cùng một công ty. Hãy làm thử nhé!
Đã có sẵn hàm replace_missing() nhận hai đối số — một DataFrame group và một cột col. Hàm sẽ cố gắng tính trung vị của cột col và trả về kết quả nếu thành công. Nếu việc tính trung vị thất bại, ví dụ do không có giá trị nào, hàm sẽ trả về một giá trị được định nghĩa trước.
Bộ dữ liệu chocolates cùng các gói DataFrames và Statistics đã được nạp sẵn cho bạn.
Bài tập này là một phần của khóa học
Xử lý dữ liệu trong Julia
Hướng dẫn bài tập
- Gom nhóm
chocolatestheocompanyvà lặp qua GroupedDataFrame. - Lọc từng nhóm bằng
ismissing()trên cộtrating, thay thế các giá trị thiếu bằng giá trị do hàmreplace_missing()trả về.
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.
# Group by company and iterate
for group in ____(____)
# Subset each group using ismissing() and the rating column, assign a new value
group[____, ____] .= replace_missing(group, :rating)
end
println(describe(chocolates, :nmissing))