You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Python] Converting lists of string_view, binary_view, decimal32, decimal64 or fixed_size_binary to pandas raises NotImplementedError #55298
Describe the bug, including details regarding any error messages, version, and platform.
Converting a list array to pandas fails when the list values are string_view, binary_view, decimal32, decimal64 or fixed_size_binary:
importpyarrowaspapa.array([["a", None], None], pa.list_(pa.string_view())).to_pandas()
# pyarrow.lib.ArrowNotImplementedError: Not implemented type for Arrow list to pandas: string_view
The same error happens for binary_view, decimal32(5, 1), decimal64(5, 1) and binary(2) values, and also through Table.to_pandas(). The same arrays with string, binary or decimal128 values convert fine. The top-level arrays (not inside a list) convert fine too.
The cause is ListTypeSupported in python/pyarrow/src/arrow/python/arrow_to_pandas.cc, which doesn't list these value types. The object conversion they would go through already supports them. I tried adding the five cases locally, and each list type then converts to the same values as its string / binary / decimal128 equivalent.
The fixed_size_binary case was reported before in #47675, which the stale bot closed.
I can reproduce this on pyarrow 26.0.0 (pip wheel). All five value types fail inside a list with ArrowNotImplementedError: Not implemented type for Arrow list to pandas: ..., both through Array.to_pandas() and through Table.to_pandas(). Here is a workaround until the ListTypeSupported fix ships.
Cast the nested value types to their supported equivalents first. The pandas result is identical: object arrays of str/bytes/Decimal, with the same nulls.
It only rewrites nested columns (lists, including lists inside structs), so top-level string_view columns still go through the normal conversion. I tested it on a table with list<string_view>, large_list<binary_view>, list<decimal32(5, 1)>, list<fixed_size_binary[2]> and struct<x: list<string_view>> columns. to_pandas() raises on the original table, and after the cast it returns the same values, nulls included, as the string/binary/decimal128 versions. For a single array, arr.cast(pa.list_(pa.string())).to_pandas() is enough.
Activity
hamarshehmhmd commentedon Oct 28, 2026
I can reproduce this on pyarrow 26.0.0 (pip wheel). All five value types fail inside a list with
ArrowNotImplementedError: Not implemented type for Arrow list to pandas: ..., both throughArray.to_pandas()and throughTable.to_pandas(). Here is a workaround until theListTypeSupportedfix ships.Cast the nested value types to their supported equivalents first. The pandas result is identical: object arrays of
str/bytes/Decimal, with the same nulls.It only rewrites nested columns (lists, including lists inside structs), so top-level
string_viewcolumns still go through the normal conversion. I tested it on a table withlist<string_view>,large_list<binary_view>,list<decimal32(5, 1)>,list<fixed_size_binary[2]>andstruct<x: list<string_view>>columns.to_pandas()raises on the original table, and after the cast it returns the same values, nulls included, as thestring/binary/decimal128versions. For a single array,arr.cast(pa.list_(pa.string())).to_pandas()is enough.