[
https://issues.apache.org/jira/browse/ARROW-15479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17483207#comment-17483207
]
Joris Van den Bossche commented on ARROW-15479:
-----------------------------------------------
Also simply casting to a different but compatible type (but same field names)
doesn't work:
{code}
>>> arr = pa.FixedSizeListArray.from_arrays(pa.array([1, 2, 3, 4, 5, 6]), 2)
>>> arr.type
FixedSizeListType(fixed_size_list<item: int64>[2])
>> arr.cast(pa.list_(pa.float64(), 2))
...
ArrowNotImplementedError: Unsupported cast from fixed_size_list<item: int64>[2]
to fixed_size_list using function cast_fixed_size_list
{code}
And again this works for variable sized list.
> [C++] Cast to fixed size list with different field name
> -------------------------------------------------------
>
> Key: ARROW-15479
> URL: https://issues.apache.org/jira/browse/ARROW-15479
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Joris Van den Bossche
> Priority: Major
> Labels: kernel
>
> Casting a FixedSizeListArray to a compatible type but only a different field
> name isn't implemented:
> {code:python}
> >>> my_type = pa.list_(pa.field("element", pa.int64()), 2)
> >>> arr = pa.FixedSizeListArray.from_arrays(pa.array([1, 2, 3, 4, 5, 6]), 2)
> >>> arr.type
> FixedSizeListType(fixed_size_list<item: int64>[2])
> >>> my_type
> FixedSizeListType(fixed_size_list<element: int64>[2])
> >>> arr.cast(my_type)
> ...
> ArrowNotImplementedError: Unsupported cast from fixed_size_list<item:
> int64>[2] to fixed_size_list using function cast_fixed_size_list
> {code}
> While the similar operation with a variable sized list actually works:
> {code:python}
> >>> my_type = pa.list_(pa.field("element", pa.int64()))
> >>> arr = pa.array([[1, 2], [3, 4]], pa.list_(pa.int64()))
> >>> arr.type
> ListType(list<item: int64>)
> >>> arr.cast(my_type).type
> ListType(list<element: int64>)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)