Skip to content

Commit 206eb02

Browse files
authored
COMPAT: Pyarrow supports div with duration (#54327)
* COMPAT: Pyarrow supports div with duration * make raise typerror
1 parent d2d17e1 commit 206eb02

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

pandas/tests/extension/test_arrow.py

+17-2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
pa_version_under8p0,
3838
pa_version_under9p0,
3939
pa_version_under11p0,
40+
pa_version_under13p0,
4041
)
4142

4243
from pandas.core.dtypes.dtypes import (
@@ -1005,7 +1006,14 @@ def _patch_combine(self, obj, other, op):
10051006

10061007
def _is_temporal_supported(self, opname, pa_dtype):
10071008
return not pa_version_under8p0 and (
1008-
opname in ("__add__", "__radd__")
1009+
(
1010+
opname in ("__add__", "__radd__")
1011+
or (
1012+
opname
1013+
in ("__truediv__", "__rtruediv__", "__floordiv__", "__rfloordiv__")
1014+
and not pa_version_under13p0
1015+
)
1016+
)
10091017
and pa.types.is_duration(pa_dtype)
10101018
or opname in ("__sub__", "__rsub__")
10111019
and pa.types.is_temporal(pa_dtype)
@@ -1054,7 +1062,14 @@ def _get_arith_xfail_marker(self, opname, pa_dtype):
10541062
f"for {pa_dtype}"
10551063
)
10561064
)
1057-
elif arrow_temporal_supported and pa.types.is_time(pa_dtype):
1065+
elif arrow_temporal_supported and (
1066+
pa.types.is_time(pa_dtype)
1067+
or (
1068+
opname
1069+
in ("__truediv__", "__rtruediv__", "__floordiv__", "__rfloordiv__")
1070+
and pa.types.is_duration(pa_dtype)
1071+
)
1072+
):
10581073
mark = pytest.mark.xfail(
10591074
raises=TypeError,
10601075
reason=(

0 commit comments

Comments
 (0)