如何将数值转换为 Julia DataFrame 列中的缺失值?

时间:2021-04-18 06:54:58

标签: dataframe julia

尝试将 99 的值替换为缺失值:

df_miss = DataFrame(a=[1,2,99,99,5,6,99])
allowmissing!(df_miss)
df_miss.a .= replace.(df_miss.a, 99 => missing)

但收到此错误:

MethodError: no method matching similar(::Int64, ::Type{Union{Missing, Int64}})

使用:
Julia 版本 1.5.3
数据帧版本 0.22.7

1 个答案:

答案 0 :(得分:3)

您不需要在这里使用广播。随便写:

julia> df_miss = DataFrame(a=[1,2,99,99,5,6,99])
7×1 DataFrame
 Row │ a
     │ Int64
─────┼───────
   1 │     1
   2 │     2
   3 │    99
   4 │    99
   5 │     5
   6 │     6
   7 │    99

julia> df_miss.a = replace(df_miss.a, 99 => missing)
7-element Vector{Union{Missing, Int64}}:
 1
 2
  missing
  missing
 5
 6
  missing

julia> df_miss
7×1 DataFrame
 Row │ a
     │ Int64?
─────┼─────────
   1 │       1
   2 │       2
   3 │ missing
   4 │ missing
   5 │       5
   6 │       6
   7 │ missing
相关问题