代码之家  ›  专栏  ›  技术社区  ›  Himanshu Poddar

如何将缺少的值插入到Julia中的数据帧

  •  2
  • Himanshu Poddar  · 技术社区  · 6 年前
    df3[10, :A] = missing
    df3[15, :B] = missing
    df3[15, :C] = missing
    

    连娜都不行。

    我犯了个错误

    MethodError:无法 convert 类型为Missings的对象。类型为Int64的对象缺少 这可能是由于调用构造函数Int64(…), 堆栈跟踪: [1] 设置索引!(::数组{Int64,1},::Missings.Missing,::Int64)位于./Array.jl:583 [2] 插入单个条目!(::DataFrames.DataFrame,::Missings.Missing,::Int64,::Symbol)位于/home/jrun/.julia/v0.6/DataFrames/src/DataFrame/DataFrame.jl:361 [4] 在./loading.jl:522中包含_string(::string,::string)

    1 回复  |  直到 6 年前
        1
  •  10
  •   Bogumił Kamiński    6 年前

    allowmissing! 功能。

    julia> using DataFrames
    
    julia> df = DataFrame(a=[1,2,3])
    3×1 DataFrame
    │ Row │ a     │
    │     │ Int64 │
    ├─────┼───────┤
    │ 1   │ 1     │
    │ 2   │ 2     │
    │ 3   │ 3     │
    
    julia> df.a[1] = missing
    ERROR: MethodError: Cannot `convert` an object of type Missing to an object of type Int64
    
    julia> allowmissing!(df)
    3×1 DataFrame
    │ Row │ a      │
    │     │ Int64⍰ │
    ├─────┼────────┤
    │ 1   │ 1      │
    │ 2   │ 2      │
    │ 3   │ 3      │
    
    julia> df.a[1] = missing
    missing
    
    julia> df
    3×1 DataFrame
    │ Row │ a       │
    │     │ Int64⍰  │
    ├─────┼─────────┤
    │ 1   │ missing │
    │ 2   │ 2       │
    │ 3   │ 3       │
    

    DataFrame 允许 missing ⍰

    你也可以使用 allowmissing 函数创建新的 .

    这两个函数都可以选择接受要转换的列。

    disallowmissing / disallowmissing! 相反方向的一对(即可选条带 Missing eltype 如果向量实际上不包含缺失值)。