From cc59cec2e5fede5f48a37f959b7e6f4b6f18ac67 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Tue, 22 Aug 2023 03:36:21 -1000 Subject: [PATCH] Backport PR #54678: COMPAT: Workaround invalid PyArrow duration conversion --- pandas/core/arrays/arrow/array.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pandas/core/arrays/arrow/array.py b/pandas/core/arrays/arrow/array.py index 3c65e6b4879e2..43320cf68cbec 100644 --- a/pandas/core/arrays/arrow/array.py +++ b/pandas/core/arrays/arrow/array.py @@ -952,6 +952,9 @@ def convert_fill_value(value, pa_type, dtype): return value if isinstance(value, (pa.Scalar, pa.Array, pa.ChunkedArray)): return value + if isinstance(value, Timedelta) and value.unit in ("s", "ms"): + # Workaround https://github.com/apache/arrow/issues/37291 + value = value.to_numpy() if is_array_like(value): pa_box = pa.array else: