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

Antoine Pitrou commented on ARROW-2277:
---------------------------------------

Actually, it is reasonable not to support struct arrays in Tensor.from_numpy(). 
The reason is that the physical layout of Arrow struct arrays is fundamentally 
different from the physical layout of Numpy struct arrays. Arrow struct arrays 
have separate child array data for each struct component, while Numpy packs 
struct elements contiguously. So it's not possible to get a zero-copy view of 
one representation into another.

> [Python] Tensor.from_numpy doesn't support struct arrays
> --------------------------------------------------------
>
>                 Key: ARROW-2277
>                 URL: https://issues.apache.org/jira/browse/ARROW-2277
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Python
>    Affects Versions: 0.8.0
>            Reporter: Antoine Pitrou
>            Priority: Major
>
> {code:python}
> >>> dt = np.dtype([('x', np.int8), ('y', np.float32)])
> >>> dt.itemsize
> 5
> >>> arr = np.arange(5*10, dtype=np.int8).view(dt)
> >>> pa.Tensor.from_numpy(arr)
> Traceback (most recent call last):
>   File "<ipython-input-8-744d4c7972b7>", line 1, in <module>
>     pa.Tensor.from_numpy(arr)
>   File "array.pxi", line 523, in pyarrow.lib.Tensor.from_numpy
>   File "error.pxi", line 85, in pyarrow.lib.check_status
> ArrowNotImplementedError: 
> /home/antoine/arrow/cpp/src/arrow/python/numpy_convert.cc:250 code: 
> GetTensorType(reinterpret_cast<PyObject*>(PyArray_DESCR(ndarray)), &type)
> Unsupported numpy type 20
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to