diff --git a/pandas/core/arrays/arrow/dtype.py b/pandas/core/arrays/arrow/dtype.py index e8adab019b097..b6515c2875718 100644 --- a/pandas/core/arrays/arrow/dtype.py +++ b/pandas/core/arrays/arrow/dtype.py @@ -108,7 +108,11 @@ def type(self): return float elif pa.types.is_string(pa_type): return str - elif pa.types.is_binary(pa_type): + elif ( + pa.types.is_binary(pa_type) + or pa.types.is_fixed_size_binary(pa_type) + or pa.types.is_large_binary(pa_type) + ): return bytes elif pa.types.is_boolean(pa_type): return bool diff --git a/pandas/tests/extension/test_arrow.py b/pandas/tests/extension/test_arrow.py index f9af3a3063386..e6642aac5eeab 100644 --- a/pandas/tests/extension/test_arrow.py +++ b/pandas/tests/extension/test_arrow.py @@ -1394,6 +1394,11 @@ def test_mode_dropna_false_mode_na(data): tm.assert_series_equal(result, expected) +@pytest.mark.parametrize("arrow_dtype", [pa.binary(), pa.binary(16), pa.large_binary()]) +def test_arrow_dtype_type(arrow_dtype): + assert ArrowDtype(arrow_dtype).type == bytes + + def test_is_bool_dtype(): # GH 22667 data = ArrowExtensionArray(pa.array([True, False, True]))