diff --git a/pandas/core/arrays/arrow/array.py b/pandas/core/arrays/arrow/array.py index 0b90bcea35100..ad5d6b3ea9b59 100644 --- a/pandas/core/arrays/arrow/array.py +++ b/pandas/core/arrays/arrow/array.py @@ -537,6 +537,8 @@ def _box_pa_array( pa_array = pa_array.dictionary_encode() if pa_array.type != pa_type: pa_array = pa_array.cast(pa_type) + if pa.types.is_struct(pa_array.type): + pass else: try: pa_array = pa_array.cast(pa_type)