reorder-columns doesn't work
Closed this issue · 2 comments
pdmct commented
reorder-columns and select-columns doesn't observe the provided column order
using tablecloth 5.00-beta-3
tech.ml.datatset 5.00-beta-5
tech.ml.dataset/select-columns does work
tablecloth> (def dss (ds/->dataset {:idx [1 1 1 2 2 2 3 3 3] :a ["a" "b" "c" "a" "b" "c" "a" "b" "c"] :b [1 2 3 2 3 4 3 2 1] :c [3 1 2 4 2 1 3 2 4]}))
#'tablecloth/dss
tablecloth> dss
_unnamed [9 4]:
| :idx | :a | :b | :c |
|------|----|----|----|
| 1 | a | 1 | 3 |
| 1 | b | 2 | 1 |
| 1 | c | 3 | 2 |
| 2 | a | 2 | 4 |
| 2 | b | 3 | 2 |
| 2 | c | 4 | 1 |
| 3 | a | 3 | 3 |
| 3 | b | 2 | 2 |
| 3 | c | 1 | 4 |
tablecloth> (api/reorder-columns dss [:ids :b :a :c])
_unnamed [9 4]:
| :a | :b | :c | :idx |
|----|----|----|------|
| a | 1 | 3 | 1 |
| b | 2 | 1 | 1 |
| c | 3 | 2 | 1 |
| a | 2 | 4 | 2 |
| b | 3 | 2 | 2 |
| c | 4 | 1 | 2 |
| a | 3 | 3 | 3 |
| b | 2 | 2 | 3 |
| c | 1 | 4 | 3 |
tablecloth> (api/select-columns dss [:idx :b :a :C])
_unnamed [9 3]:
| :idx | :a | :b |
|------|----|----|
| 1 | a | 1 |
| 1 | b | 2 |
| 1 | c | 3 |
| 2 | a | 2 |
| 2 | b | 3 |
| 2 | c | 4 |
| 3 | a | 3 |
| 3 | b | 2 |
| 3 | c | 1 |
tablecloth> (ds/select-columns dss [:idx :b :a :c])
_unnamed [9 4]:
| :idx | :b | :a | :c |
|------|----|----|----|
| 1 | 1 | a | 3 |
| 1 | 2 | b | 1 |
| 1 | 3 | c | 2 |
| 2 | 2 | a | 4 |
| 2 | 3 | b | 2 |
| 2 | 4 | c | 1 |
| 3 | 3 | a | 3 |
| 3 | 2 | b | 2 |
| 3 | 1 | c | 4 |
genmeblog commented
Thank you. Confirmed. It's a bug in gathering column names and as I see can influence also other parts of tablecloth.
(column-names dss [:ids :b :a :c])
;; => (:a :b :c) <- this gives wrong order...
genmeblog commented
5.00-beta-5a