You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Marcel Ackermann (JIRA)" <ji...@apache.org> on 2019/08/13 13:25:00 UTC

[jira] [Issue Comment Deleted] (ARROW-5295) [Python] accept pyarrow values / scalars in constructor functions ?

     [ https://issues.apache.org/jira/browse/ARROW-5295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marcel Ackermann updated ARROW-5295:
------------------------------------
    Comment: was deleted

(was: This would be required for serializing dataframe that contain vectors: https://issues.apache.org/jira/browse/ARROW-6222)

> [Python] accept pyarrow values / scalars in constructor functions ?
> -------------------------------------------------------------------
>
>                 Key: ARROW-5295
>                 URL: https://issues.apache.org/jira/browse/ARROW-5295
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Python
>            Reporter: Joris Van den Bossche
>            Priority: Major
>
> Currently, functions like \{{pyarrow.array}} don't accept pyarrow Arrays, or also not scalars of it:
> {code}
> In [42]: arr = pa.array([1, 2, 3])
> In [43]: pa.array(arr)
> ...
> ArrowInvalid: Could not convert 1 with type pyarrow.lib.Int64Value: did not recognize Python value type when inferring an Arrow data type
> In [44]: pa.array(list(arr))
> ...
> ArrowInvalid: Could not convert 1 with type pyarrow.lib.Int64Value: did not recognize Python value type when inferring an Arrow data type
> {code}
> Do we want to allow those / recognize those here? (the first case could even have a fastpath, as we don't need to do it element by element).
> Also scalars are not supported:
> {code}
> In [46]: type(arr.sum())
> Out[46]: pyarrow.lib.Int64Scalar
> In [47]: pa.array([arr.sum()])
> ...
> ArrowInvalid: Could not convert 6 with type pyarrow.lib.Int64Scalar: did not recognize Python value type when inferring an Arrow data type
> {code}
> And also in other functions we don't accept arrow scalars / values:
> {code}
> In [48]: string = pa.array(['a'])[0]
> In [49]: type(string)
> Out[49]: pyarrow.lib.StringValue
> In [50]: pa.field(string, pa.int64())
> ...
> TypeError: expected bytes, pyarrow.lib.StringValue found
> {code}
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)