From dc4b0319891db4e664b4a9544c0933dd10a175dc Mon Sep 17 00:00:00 2001 From: Patrick Hoefler Date: Mon, 27 Feb 2023 14:58:15 +0100 Subject: [PATCH] BUG: is_numeric raising for fixed size pa binary --- pandas/core/arrays/arrow/dtype.py | 6 +++++- pandas/tests/extension/test_arrow.py | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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]))