You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2021/03/22 17:19:01 UTC
[jira] [Commented] (ARROW-12042) [C++] Change or rationalize output
of array_sort_indices on ChunkedArray
[ https://issues.apache.org/jira/browse/ARROW-12042?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17306420#comment-17306420 ]
Antoine Pitrou commented on ARROW-12042:
----------------------------------------
I definitely don't see this in Python. This looks like a bug on the R side?
{code:python}
>>> arr = pa.chunked_array([[2, 1], [4, 3]])
>>> pc.sort_indices(arr)
<pyarrow.lib.UInt64Array object at 0x7f4e4a121c90>
[
1,
0,
3,
2
]
>>> arr.take(pc.sort_indices(arr))
<pyarrow.lib.ChunkedArray object at 0x7f4e4a11e170>
[
[
1,
2,
3,
4
]
]
{code}
> [C++] Change or rationalize output of array_sort_indices on ChunkedArray
> ------------------------------------------------------------------------
>
> Key: ARROW-12042
> URL: https://issues.apache.org/jira/browse/ARROW-12042
> Project: Apache Arrow
> Issue Type: Task
> Components: C++
> Affects Versions: 3.0.0
> Reporter: Ian Cook
> Priority: Major
>
> Currently when the {{array_sort_indices}} compute function is called on a ChunkedArray of two or more Arrays, it returns a ChunkedArray of Arrays of _local_ sort indices for each Array. Demonstrating this with the R bindings (but note that these R examples will not run until ARROW-11703 is merged):
> {code:java}
> > x <- ChunkedArray$create(c(2L, 1L), c(4L, 3L))
> > arrow:::call_function("array_sort_indices", x, options = list(order = FALSE))
> ChunkedArray
> [
> [
> 1,
> 0
> ],
> [
> 1,
> 0
> ]
> ]
> {code}
> Compare to the {{sort_indices}} compute function which returns an Array of _global_ sort indices in this case:
> {code:java}
> > arrow:::call_function("sort_indices", x, options = list(names = "", orders = 0L))
> Array
> <uint64>
> [
> 1,
> 0,
> 3,
> 2
> ]{code}
> Is this behavior deliberate? If so, we should document it clearly. If not, we should change it.
> Note that the docs currently states that {{array_sort_indices}} only works on Arrays [https://arrow.apache.org/docs/cpp/compute.html#sorts-and-partitions] (see note (4)) but evidently that is not exactly correct.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)