@@ -555,7 +555,7 @@ def _get_expected_reduction_dtype(self, arr, op_name: str, skipna: bool):
555
555
else :
556
556
cmp_dtype = arr .dtype
557
557
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" ]:
559
559
cmp_dtype = arr .dtype
560
560
else :
561
561
cmp_dtype = "float64[pyarrow]"
@@ -573,6 +573,24 @@ def _get_expected_reduction_dtype(self, arr, op_name: str, skipna: bool):
573
573
}[arr .dtype .kind ]
574
574
return cmp_dtype
575
575
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
+
576
594
@pytest .mark .parametrize ("skipna" , [True , False ])
577
595
def test_reduce_frame (self , data , all_numeric_reductions , skipna , request ):
578
596
op_name = all_numeric_reductions
0 commit comments