diff --git a/pandas/core/arrays/arrow/array.py b/pandas/core/arrays/arrow/array.py index 0b90bcea35100..ecd3fdb4dc8bc 100644 --- a/pandas/core/arrays/arrow/array.py +++ b/pandas/core/arrays/arrow/array.py @@ -1478,7 +1478,11 @@ def to_numpy( return result def map(self, mapper, na_action: Literal["ignore"] | None = None): - if is_numeric_dtype(self.dtype): + if ( + is_numeric_dtype(self.dtype) + or pa.types.is_date(self.dtype.pyarrow_dtype) + or pa.types.is_timestamp(self.dtype.pyarrow_dtype) + ): return map_array(self.to_numpy(), mapper, na_action=na_action) else: return super().map(mapper, na_action)