我想生成一个空的数据帧数组,稍后将在代码中填充它,但是我还没有弄清楚该怎么做。任何帮助将不胜感激!
我尝试了定义空数组的标准方法。
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,但是它失败并显示错误消息。
答案 0 :(得分:4)
对于您所理解的“空”定义,您所拥有的是正确的。 获得第一个结果后,您就可以像往常一样继续用数据框填充它。 它确实是一个DataFrame数组,因为如果您尝试为其元素分配任何其他类型,则会收到错误消息。
请注意,“一个空的数据帧数组” 与“一个(非空的)空数据帧数组”不同。
如果您真正想要的是后者,那么Bogumil的答案就是要走的路。
答案 1 :(得分:3)
尝试:
df_vector = [DataFrame() for _ in 1:10]
或
map(_ -> DataFrame(), 1:10)