Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make a list of data frames in Julia?

Given that I have some data frames with a single dimension, how can I create a list of all the data frames? Is it really as simple as just making a list and adding them in?

like image 829
logankilpatrick Avatar asked Nov 15 '25 04:11

logankilpatrick


1 Answers

You could also use vcat to combine these data frames into a single one with an extra column indicating the source like this:

julia> c = vcat(a, b, source=:source => ["a", "b"])
8×2 DataFrame
 Row │ A      source
     │ Int64  String
─────┼───────────────
   1 │     1  a
   2 │     2  a
   3 │     3  a
   4 │     4  a
   5 │     1  b
   6 │     2  b
   7 │     3  b
   8 │     4  b

This form is often easier to work with later. In particular if you then groupby the c data frame by :source like this:

julia> groupby(c, :source)
GroupedDataFrame with 2 groups based on key: source
First Group (4 rows): source = "a"
 Row │ A      source
     │ Int64  String
─────┼───────────────
   1 │     1  a
   2 │     2  a
   3 │     3  a
   4 │     4  a
⋮
Last Group (4 rows): source = "b"
 Row │ A      source
     │ Int64  String
─────┼───────────────
   1 │     1  b
   2 │     2  b
   3 │     3  b
   4 │     4  b

As a result you also get a collection of data frames (like the list that was created in the other answer), but this time you can apply functions supporting the split-apply-combine to it, see https://dataframes.juliadata.org/stable/man/split_apply_combine/.

like image 68
Bogumił Kamiński Avatar answered Nov 17 '25 20:11

Bogumił Kamiński



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!