[ https://issues.apache.org/jira/browse/ARROW-5295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16836524#comment-16836524 ]
Antoine Pitrou commented on ARROW-5295: --------------------------------------- I think allowing Arrays is fine. I'm not sure we want to make Scalars first-class citizens like Numpy scalars, though. At least from an implementation POV, it may add a lot of code all over the place... > [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.3#76005)