[ https://issues.apache.org/jira/browse/ARROW-10640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17237243#comment-17237243 ]
Joris Van den Bossche commented on ARROW-10640: ----------------------------------------------- And in SQL, this is related to a "CASE WHEN" clause: https://www.postgresqltutorial.com/postgresql-case/ (although here you can provide multiple boolean conditions, and it's also using expressions instead of actual boolean masks, but that's something to optimize only when there is a query engine) > [C++] A "where" kernel to combine two arrays based on a mask > ------------------------------------------------------------ > > Key: ARROW-10640 > URL: https://issues.apache.org/jira/browse/ARROW-10640 > Project: Apache Arrow > Issue Type: New Feature > Components: C++ > Reporter: Joris Van den Bossche > Priority: Major > > (from discussion in ARROW-9489 with [~maartenbreddels]) > A general "where" kernel like {{np.where}} > (https://numpy.org/doc/stable/reference/generated/numpy.where.html) seems a > generally useful kernel to have, and could also help mimicking some other > python (setitem-like) operations. > The concrete use case in ARROW-9489 is to basically do a > {{fill_null(array[string], array[string])}} which could be expressed as > {{where(is_null(arr), arr2, arr)}}. -- This message was sent by Atlassian Jira (v8.3.4#803005)