Joris Van den Bossche created ARROW-5295: --------------------------------------------
Summary: [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 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)