JPi*_*JPi 2 arrays initialization defaultifempty dataframe 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
Run Code Online (Sandbox Code Playgroud)
我希望 typeof(df[1]) 说 DataFrame,但它失败并显示错误消息。
尝试:
df_vector = [DataFrame() for _ in 1:10]
Run Code Online (Sandbox Code Playgroud)
或者
map(_ -> DataFrame(), 1:10)
Run Code Online (Sandbox Code Playgroud)
你所拥有的是正确的,因为你对“空”的理解是这样的。获得第一个结果后,您可以继续像往常一样用数据框填充它。它确实是一个 DataFrame 数组,因为如果您尝试为其元素分配任何其他类型,则会出现错误。
请注意,“数据帧的空数组”与“空数据帧的(非空)数组”不同。
如果您真正想要的是后者,那么 Bogumil 的答案就是要走的路。