Dataframe 如何在Julia中向数据帧插入缺少的值

Dataframe 如何在Julia中向数据帧插入缺少的值,dataframe,julia,Dataframe,Julia,即使是NA也不起作用 我犯了一个错误 MethodError:无法将Missings类型的对象转换为Int64类型的对象 这可能是由于调用构造函数Int64。。。, 因为类型构造函数会退回到转换方法。 堆栈跟踪: [1] setindex!::数组{Int64,1},::Missings.Missing,::Int64 at./Array.jl:583 [2] 插入单个项目!::DataFrames.DataFrame,::Missings.Missing,::Int64,::Symbol at

即使是NA也不起作用

我犯了一个错误

MethodError:无法将Missings类型的对象转换为Int64类型的对象 这可能是由于调用构造函数Int64。。。, 因为类型构造函数会退回到转换方法。 堆栈跟踪: [1] setindex!::数组{Int64,1},::Missings.Missing,::Int64 at./Array.jl:583 [2] 插入单个项目!::DataFrames.DataFrame,::Missings.Missing,::Int64,::Symbol at/home/jrun/.julia/v0.6/DataFrames/src/DataFrame/DataFrame.jl:361 [3] setindex!::DataFrames.DataFrame,::Missings.Missing,::Int64,::Symbol at/home/jrun/.julia/v0.6/DataFrames/src/DataFrame/DataFrame.jl:448 [4] include_string::string,::string at./loading.jl:522

使用allowmissing!功能

df3[10, :A] = missing
df3[15, :B] = missing
df3[15, :C] = missing
您可以看到数据框中哪些列允许丢失,因为它们用⍰ 在列名下的类型名称之后

您还可以使用allowmissing函数创建新的数据帧

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


最后是一个disallowmissing/disallowmissing!如果向量实际上不包含缺失值,则执行相反操作的配对,即从eltype中删除可选缺失并集。

您可以建议我了解julia1.0中这些新更改的来源,因为我在文档中没有找到这些内容在文档中,您可以在此处找到:。这里还有一个关于DataFrames.jl的教程:第3章介绍了您的问题主题。
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       │