小编cpg*_*pgj的帖子

Julia Dataframes - 使用 eltype Union{Missing, T} 简洁地创建列

我正在构建一个数据框,其中对于某些列,创建它们的明显方法涉及多步骤过程。我想用 eltype Union{Missing, T} 惯用且简洁地创建一个列。然后我可以使用多步骤过程填充该列(并在完成后酌情禁止)。最干净的方法是什么?

我想做类似的事情df[!, :col] :: Vector{Union{Int64, Missing}} .= missing但这给了"ArgumentError: column name :col not found in the data frame; ..."

如果我尝试去做df[!, :col] .= fill(missing, nrow(df)) :: Vector{Union{Int64, Missing}},我就会得到"TypeError: in typeassert, expected Vector{Union{Missing, Int64}}, got a value of type Vector{Missing}"

目前我正在做一些丑陋且令人困惑的事情,比如

df[!, :col] .= 0

allowmissing!(df, :col)

df.col .= missing

有什么建议么?我的感觉是,如果我有这个问题,我并不真正理解 DataFrames.jl 中的列类型如何工作的细微差别,即使我一直使用它并且通常没有问题。我搜索了文档,但感觉没有看到任何有助于解决此特定问题的内容,但任何推荐的阅读都将不胜感激。

谢谢!

dataframe julia dataframes.jl

3
推荐指数
1
解决办法
352
查看次数

标签 统计

dataframe ×1

dataframes.jl ×1

julia ×1