如何在 Julia 中定义一个空的 DataFrame 数组?

How to define an empty array of DataFrames in Julia?

我想生成一个空的数据帧数组,稍后将在代码中填充它,但我还没有想出如何去做。如有任何帮助,我们将不胜感激!

我尝试了一种定义空数组的标准方法。

julia> df = Array{DataFrame}(undef,10)
10-element Array{DataFrame,1}:
 #undef
 #undef
 #undef
 #undef
 #undef
 #undef
 #undef
 #undef
 #undef
 #undef

julia> println(typeof(df[1]))
ERROR: UndefRefError: access to undefined reference
Stacktrace:
 [1] getindex(::Array{DataFrame,1}, ::Int64) at ./array.jl:729
 [2] top-level scope at none:0

我原以为 typeof(df[1]) 会说 DataFrame,但它失败并显示一条错误消息。

尝试:

df_vector = [DataFrame() for _ in 1:10]

map(_ -> DataFrame(), 1:10)

根据您对 'empty' 的理解定义,您所拥有的是正确的。 获得第一个结果后,您可以继续像往常一样用数据框填充它。 它确实是一个 DataFrame 数组,因为如果您尝试将任何其他类型分配给它的元素,您将得到一个错误。

请注意 "an empty array of dataframes" 不同于 与 "a (non-empty) array of empty dataframes"。

如果您真正想要的是后者,Bogumil 的回答就是正确的选择。