【问题标题】:DataFrame.jl missing imputation (Julia Programming Language)DataFrame.jl 缺少插补(Julia 编程语言)
【发布时间】:2020-12-06 19:25:40
【问题描述】:

我应该如何在 DataFrame.jl 中执行缺失的插补? 例如,对于给定的 DataFrame,如何将所有缺失值变为 0。提前致谢!

【问题讨论】:

  • 走到 Bogumil 的办公室问问他 :)
  • 如果我还是要回答这个问题,最好将答案记录在 SO 上以备将来使用:)。

标签: julia


【解决方案1】:

使用coalesce 和广播。因此,假设您的数据框存储在 df 变量中,那么只需执行以下操作:

df .= coalesce.(df, 0)

现在,如果您只想在选定的列中执行此替换,请执行以下操作:

@. df[!, cols] = coalesce(df[!, cols], 0)

其中cols 是一个列选择器。

实现此目的的另一种方法是使用transform!

transform!(df, cols .=> ByRow(x -> coalesce(x, 0)), renamecols=false)

cols 是您的列选择器。将names(df) 用于cols 是否要在DataFrame 的所有列中进行插补。

这种方法在这种情况下有点冗长,但总的来说更灵活。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多