如何在 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 的回答就是正确的选择。
我想生成一个空的数据帧数组,稍后将在代码中填充它,但我还没有想出如何去做。如有任何帮助,我们将不胜感激!
我尝试了一种定义空数组的标准方法。
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 的回答就是正确的选择。