From ee2c84fcd34a62beffe534a8e7c062359b927f75 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Sun, 2 Apr 2023 07:13:38 -0700 Subject: [PATCH 1/2] Backport PR #52330: ENH: Implement .dt.year for ArrowExtensionArray --- pandas/core/arrays/arrow/array.py | 4 ++++ pandas/tests/extension/test_arrow.py | 1 + 2 files changed, 5 insertions(+) diff --git a/pandas/core/arrays/arrow/array.py b/pandas/core/arrays/arrow/array.py index 8e1774c1ea45e..313f01d069e82 100644 --- a/pandas/core/arrays/arrow/array.py +++ b/pandas/core/arrays/arrow/array.py @@ -1945,6 +1945,10 @@ def _str_wrap(self, width, **kwargs): "str.wrap not supported with pd.ArrowDtype(pa.string())." ) + @property + def _dt_year(self): + return type(self)(pc.year(self._pa_array)) + @property def _dt_day(self): return type(self)(pc.day(self._data)) diff --git a/pandas/tests/extension/test_arrow.py b/pandas/tests/extension/test_arrow.py index d7543173a25ce..28919f496384c 100644 --- a/pandas/tests/extension/test_arrow.py +++ b/pandas/tests/extension/test_arrow.py @@ -2109,6 +2109,7 @@ def test_unsupported_dt(data): @pytest.mark.parametrize( "prop, expected", [ + ["year", 2023], ["day", 2], ["day_of_week", 0], ["dayofweek", 0], From e7a191a49cfc351266a642fd957dc5f7696d6e72 Mon Sep 17 00:00:00 2001 From: Patrick Hoefler <61934744+phofl@users.noreply.github.com> Date: Sun, 2 Apr 2023 17:15:51 +0200 Subject: [PATCH 2/2] Update array.py --- pandas/core/arrays/arrow/array.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/core/arrays/arrow/array.py b/pandas/core/arrays/arrow/array.py index 313f01d069e82..8e6b9db0fe7d4 100644 --- a/pandas/core/arrays/arrow/array.py +++ b/pandas/core/arrays/arrow/array.py @@ -1947,7 +1947,7 @@ def _str_wrap(self, width, **kwargs): @property def _dt_year(self): - return type(self)(pc.year(self._pa_array)) + return type(self)(pc.year(self._data)) @property def _dt_day(self):