tech.ml.dataset
tech.ml.dataset copied to clipboard
output from `ds/rows` doesn't `pprint` well (all on one line)
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.