df3[10, :A] = missing
df3[15, :B] = missing
df3[15, :C] = missing
Run Code Online (Sandbox Code Playgroud)
即使NA也不行.
我收到了一个错误
MethodError:Missings.Missing
convert类型的对象不能是Int64类型的对象这可能是由于对构造函数Int64(...)的调用引起的,因为类型构造函数会回退到转换方法.Stacktrace:[1] setindex!(:: Array {Int64,1},:: Missings.Missing,:: Int64)at ./array.jl:583 [2] insert_single_entry!(:: DataFrames.DataFrame,:: Missings .Missing,:: Int64,:: Symbol)/home/jrun/.julia/v0.6/DataFrames/src/dataframe/dataframe.jl:361 [3] setindex!(:: DataFrames.DataFrame,:: Missings .Missing,:: Int64,:: Symbol)在/home/jrun/.julia/v0.6/DataFrames/src/dataframe/dataframe.jl:448 [4] include_string(:: String,:: String)at. /loading.jl:522
使用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 ?
Run Code Online (Sandbox Code Playgroud)
您可以查看DataFrame允许中的哪些列,missing因为它们?在列名称下以类型名称后突出显示.
您还可以使用allowmissing函数创建新的DataFrame.
两个函数都可以选择接受要转换的列.
最后有一个disallowmissing/ disallowmissing!对执行相反的操作(即Missing,eltype如果向量实际上不包含缺失值,则从中剥离可选的并集).