如何使用 Julia 循环生成多个 DataFrame

How to generate many DataFrames with a loop using Julia

我想知道在循环中同时生成多个 DataFrame 的最有效方法是什么。

我不知道怎么做,但输出应该是这样的:

df_1 = 1×3 DataFrame
│ Row │ var1         │
│     │ String       │
├─────┼──────────────┼
│ 1   │ b            │
│ 2   │ a            │
│ 3   │ c            │

df_2 = 1×3 DataFrame
│ Row │ var1         │
│     │ String       │
├─────┼──────────────┼
│ 1   │ h            │
│ 2   │ j            │
│ 3   │ k            │

etc etc

因此,DataFrame 的名称应由循环的迭代 (df_1, df_2) 决定。

欢迎任何帮助! 提前致谢。

我建议您使用例如理解而不是像这样:

julia> df = [DataFrame(var1=rand(3)) for i in 1:3]
3-element Vector{DataFrame}:
 3×1 DataFrame
 Row │ var1
     │ Float64
─────┼──────────
   1 │ 0.402916
   2 │ 0.562662
   3 │ 0.256056
 3×1 DataFrame
 Row │ var1
     │ Float64
─────┼──────────
   1 │ 0.978262
   2 │ 0.898357
   3 │ 0.71393
 3×1 DataFrame
 Row │ var1
     │ Float64
─────┼──────────
   1 │ 0.634487
   2 │ 0.813718
   3 │ 0.113087

然后你可以select你想要的数据框使用索引,例如:

julia> df[1]
3×1 DataFrame
 Row │ var1
     │ Float64
─────┼──────────
   1 │ 0.402916
   2 │ 0.562662
   3 │ 0.256056

julia> df[2]
3×1 DataFrame
 Row │ var1
     │ Float64
─────┼──────────
   1 │ 0.978262
   2 │ 0.898357
   3 │ 0.71393

julia> df[3]
3×1 DataFrame
 Row │ var1
     │ Float64
─────┼──────────
   1 │ 0.634487
   2 │ 0.813718
   3 │ 0.113087

可以按照您要求的方式使用动态命名定义变量,但我不推荐这样做,因为它很容易导致您的代码出现错误。