tech.ml.dataset icon indicating copy to clipboard operation
tech.ml.dataset copied to clipboard

output from `ds/rows` doesn't `pprint` well (all on one line)

Open harold opened this issue 2 years ago • 0 comments

Repl'ing some datasets and having a lot of fun, but came across a case that didn't print well related to ds/rows:

> (def m {:aaaaaaaaaaa 1 :bbbbbbbbbbb 2 :ccccccccccc 3 :ddddddddddd 4 :eeeeeeeeeee 5})
#'m
> (clojure.pprint/pprint m)
{:aaaaaaaaaaa 1,
 :bbbbbbbbbbb 2,
 :ccccccccccc 3,
 :ddddddddddd 4,
 :eeeeeeeeeee 5}
nil
> (def ds (ds/->dataset [m m m m m]))
#'ds
> ds
_unnamed [5 5]:

| :ccccccccccc | :ddddddddddd | :aaaaaaaaaaa | :eeeeeeeeeee | :bbbbbbbbbbb |
|-------------:|-------------:|-------------:|-------------:|-------------:|
|            3 |            4 |            1 |            5 |            2 |
|            3 |            4 |            1 |            5 |            2 |
|            3 |            4 |            1 |            5 |            2 |
|            3 |            4 |            1 |            5 |            2 |
|            3 |            4 |            1 |            5 |            2 |
> (clojure.pprint/pprint (ds/rows ds))
[{:ccccccccccc 3, :ddddddddddd 4, :aaaaaaaaaaa 1, :eeeeeeeeeee 5, :bbbbbbbbbbb 2} {:ccccccccccc 3, :ddddddddddd 4, :aaaaaaaaaaa 1, :eeeeeeeeeee 5, :bbbbbbbbbbb 2} {:ccccccccccc 3, :ddddddddddd 4, :aaaaaaaaaaa 1, :eeeeeeeeeee 5, :bbbbbbbbbbb 2} {:ccccccccccc 3, :ddddddddddd 4, :aaaaaaaaaaa 1, :eeeeeeeeeee 5, :bbbbbbbbbbb 2} {:ccccccccccc 3, :ddddddddddd 4, :aaaaaaaaaaa 1, :eeeeeeeeeee 5, :bbbbbbbbbbb 2}]
nil
> (clojure.pprint/pprint [m m m m m])
[{:aaaaaaaaaaa 1,
  :bbbbbbbbbbb 2,
  :ccccccccccc 3,
  :ddddddddddd 4,
  :eeeeeeeeeee 5}
 {:aaaaaaaaaaa 1,
  :bbbbbbbbbbb 2,
  :ccccccccccc 3,
  :ddddddddddd 4,
  :eeeeeeeeeee 5}
 {:aaaaaaaaaaa 1,
  :bbbbbbbbbbb 2,
  :ccccccccccc 3,
  :ddddddddddd 4,
  :eeeeeeeeeee 5}
 {:aaaaaaaaaaa 1,
  :bbbbbbbbbbb 2,
  :ccccccccccc 3,
  :ddddddddddd 4,
  :eeeeeeeeeee 5}
 {:aaaaaaaaaaa 1,
  :bbbbbbbbbbb 2,
  :ccccccccccc 3,
  :ddddddddddd 4,
  :eeeeeeeeeee 5}]
nil
> (= (ds/rows ds) [m m m m m])
true

Somehow the reader of FastStructs (or whatever ds/rows returns) is pprinting the maps all on one line.

harold avatar Nov 21 '22 18:11 harold