用分组中位数替换 rating
在上一个练习中,您将 rating 列中的缺失值替换为该列的中位数。还能做得更好吗?当然可以!您可以把缺失值替换为同一公司巧克力的评分中位数。我们来试试吧!
已经为您预定义了一个 replace_missing() 函数,它接收两个参数——DataFrame group 和列名 col。它会尝试计算列 col 的中位数,如果成功则返回该值。如果计算中位数失败(例如没有任何值),则返回一个预定义的值。
chocolates 数据集以及 DataFrames 和 Statistics 包已为您加载。
本练习是课程的一部分
Julia 中的数据操作
练习说明
- 按照
company对chocolates分组,并遍历该 GroupedDataFrame。 - 使用
ismissing()和rating列对子集进行筛选,将缺失值替换为replace_missing()函数返回的值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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))