@@ -555,7 +555,7 @@ def _get_expected_reduction_dtype(self, arr, op_name: str, skipna: bool):
555555 else :
556556 cmp_dtype = arr .dtype
557557 elif arr .dtype .name == "decimal128(7, 3)[pyarrow]" :
558- if op_name not in ["median" , "var" , "std" , "sem" ]:
558+ if op_name not in ["median" , "var" , "std" , "sem" , "skew" ]:
559559 cmp_dtype = arr .dtype
560560 else :
561561 cmp_dtype = "float64[pyarrow]"
@@ -573,6 +573,24 @@ def _get_expected_reduction_dtype(self, arr, op_name: str, skipna: bool):
573573 }[arr .dtype .kind ]
574574 return cmp_dtype
575575
576+ @pytest .mark .filterwarnings ("ignore::RuntimeWarning" )
577+ @pytest .mark .parametrize ("skipna" , [True , False ])
578+ def test_reduce_series_numeric (self , data , all_numeric_reductions , skipna , request ):
579+ if (
580+ skipna
581+ and all_numeric_reductions == "skew"
582+ and (
583+ pa .types .is_integer (data .dtype .pyarrow_dtype )
584+ or pa .types .is_floating (data .dtype .pyarrow_dtype )
585+ )
586+ ):
587+ request .applymarker (
588+ pytest .mark .xfail (
589+ reason = "https://github.com/apache/arrow/issues/45733" ,
590+ )
591+ )
592+ return super ().test_reduce_series_numeric (data , all_numeric_reductions , skipna )
593+
576594 @pytest .mark .parametrize ("skipna" , [True , False ])
577595 def test_reduce_frame (self , data , all_numeric_reductions , skipna , request ):
578596 op_name = all_numeric_reductions
0 commit comments