You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Miles Granger (Jira)" <ji...@apache.org> on 2022/10/26 11:22:00 UTC

[jira] [Commented] (ARROW-17951) [Python] Support ChunkedArray mask in replace operations

    [ https://issues.apache.org/jira/browse/ARROW-17951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17624380#comment-17624380 ] 

Miles Granger commented on ARROW-17951:
---------------------------------------

Seems to make sense to me. (y)
I would guess in the meantime you've found using `combine_chunks` may suffice? (albeit, not optimal)
{code:python}
pc.replace_with_mask(
    pa.chunked_array([pa.array(["a", "b"])]),
    pa.chunked_array([pa.array([True, False])]).combine_chunks(),
    pa.scalar("c", pa.string()),
)
{code}

> [Python] Support ChunkedArray mask in replace operations
> --------------------------------------------------------
>
>                 Key: ARROW-17951
>                 URL: https://issues.apache.org/jira/browse/ARROW-17951
>             Project: Apache Arrow
>          Issue Type: Improvement
>         Environment: pyarrow==9.0.0
> python 3.9
>            Reporter: &res
>            Priority: Minor
>
> Replace operations (more specifically replace_with_mask) don't support chunked array for the mask argument.
> But one would expect that ReplaceMaskChunked, which support chunked array for  its input data (the data to be replaced), should also support chunked array for its mask.
>  
> {code:java}
> pc.replace_with_mask(pa.array(["a", "b"]), pa.array([True, False]), pa.scalar("c", pa.string()))
> pc.replace_with_mask(
>     pa.chunked_array([pa.array(["a", "b"])]),
>     pa.array([True, False]),
>     pa.scalar("c", pa.string()),
> )
> with pytest.raises(pa.ArrowInvalid, match=r"Mask must be array or scalar, not ChunkedArray"):
>     pc.replace_with_mask(
>         pa.chunked_array([pa.array(["a", "b"])]),
>         pa.chunked_array([pa.array([True, False])]),
>         pa.scalar("c", pa.string()),
>     ) {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)