36
36
cp = lazy_import ("cupy" , rename = "cp" )
37
37
_agg_size_as_series = pd_release_version >= (1 , 3 )
38
38
_support_kw_agg = pd_release_version >= (1 , 1 )
39
+ _drop_level_reduction = pd_release_version >= (2 , 0 )
39
40
40
41
41
42
@pytest .fixture
@@ -119,6 +120,9 @@ def compute(data, **kwargs):
119
120
np .testing .assert_equal (r .execute ().fetch (), compute (data ))
120
121
121
122
123
+ @pytest .mark .skipif (
124
+ _drop_level_reduction , reason = "Level reduction not supported for pandas>=2.0"
125
+ )
122
126
@pytest .mark .parametrize ("func_name,func_opts" , reduction_functions )
123
127
def test_series_level_reduction (setup , func_name , func_opts : FunctionOptions ):
124
128
def compute (data , ** kwargs ):
@@ -162,6 +166,9 @@ def compute(data, **kwargs):
162
166
)
163
167
164
168
169
+ @pytest .mark .skipif (
170
+ _drop_level_reduction , reason = "Level reduction not supported for pandas>=2.0"
171
+ )
165
172
@pytest .mark .parametrize ("func_name,func_opts" , reduction_functions )
166
173
def test_dataframe_reduction (
167
174
setup , check_ref_counts , func_name , func_opts : FunctionOptions
@@ -255,6 +262,9 @@ def compute(data, **kwargs):
255
262
)
256
263
257
264
265
+ @pytest .mark .skipif (
266
+ _drop_level_reduction , reason = "Level reduction not supported for pandas>=2.0"
267
+ )
258
268
@pytest .mark .parametrize ("func_name,func_opts" , reduction_functions )
259
269
def test_dataframe_level_reduction (
260
270
setup , check_ref_counts , func_name , func_opts : FunctionOptions
@@ -403,6 +413,9 @@ def compute(data, **kwargs):
403
413
assert r .execute ().fetch () is True
404
414
405
415
416
+ @pytest .mark .skipif (
417
+ _drop_level_reduction , reason = "Level reduction not supported for pandas>=2.0"
418
+ )
406
419
@pytest .mark .parametrize ("func_name" , bool_reduction_functions )
407
420
def test_series_bool_level_reduction (setup , check_ref_counts , func_name ):
408
421
def compute (data , ** kwargs ):
@@ -510,6 +523,9 @@ def compute(data, **kwargs):
510
523
)
511
524
512
525
526
+ @pytest .mark .skipif (
527
+ _drop_level_reduction , reason = "Level reduction not supported for pandas>=2.0"
528
+ )
513
529
@pytest .mark .parametrize ("func_name" , bool_reduction_functions )
514
530
def test_dataframe_bool_level_reduction (setup , check_ref_counts , func_name ):
515
531
def compute (data , ** kwargs ):
@@ -682,21 +698,27 @@ def test_nunique(setup, check_ref_counts):
682
698
683
699
684
700
def test_mode (setup , check_ref_counts ):
685
- config_kw = {
701
+ config_idx_kw = {
686
702
"extra_config" : {
687
703
"check_shape" : False ,
688
704
"check_index_value" : False ,
689
705
}
690
706
}
707
+ config_col_kw = {
708
+ "extra_config" : {
709
+ "check_shape" : False ,
710
+ "check_columns_value" : False ,
711
+ }
712
+ }
691
713
data1 = pd .Series (np .random .randint (0 , 5 , size = (20 ,)))
692
714
693
715
series = md .Series (data1 )
694
- result = series .mode ().execute ().fetch ()
716
+ result = series .mode ().execute (** config_idx_kw ).fetch (** config_idx_kw )
695
717
expected = data1 .mode ()
696
718
pd .testing .assert_series_equal (result , expected )
697
719
698
720
series = md .Series (data1 , chunk_size = 6 )
699
- result = series .mode ().execute ().fetch ()
721
+ result = series .mode ().execute (** config_idx_kw ).fetch (** config_idx_kw )
700
722
expected = data1 .mode ()
701
723
pd .testing .assert_series_equal (result , expected )
702
724
@@ -705,12 +727,12 @@ def test_mode(setup, check_ref_counts):
705
727
data2 [[2 , 9 , 18 ]] = np .nan
706
728
707
729
series = md .Series (data2 )
708
- result = series .mode ().execute ().fetch ()
730
+ result = series .mode ().execute (** config_idx_kw ).fetch (** config_idx_kw )
709
731
expected = data2 .mode ()
710
732
pd .testing .assert_series_equal (result , expected )
711
733
712
734
series = md .Series (data2 , chunk_size = 3 )
713
- result = series .mode (dropna = False ).execute (** config_kw ).fetch (** config_kw )
735
+ result = series .mode (dropna = False ).execute (** config_idx_kw ).fetch (** config_idx_kw )
714
736
expected = data2 .mode (dropna = False )
715
737
pd .testing .assert_series_equal (result , expected )
716
738
@@ -720,22 +742,22 @@ def test_mode(setup, check_ref_counts):
720
742
columns = ["c" + str (i ) for i in range (20 )],
721
743
)
722
744
df = md .DataFrame (data1 )
723
- result = df .mode ().execute ().fetch ()
745
+ result = df .mode ().execute (** config_idx_kw ).fetch (** config_idx_kw )
724
746
expected = data1 .mode ()
725
747
pd .testing .assert_frame_equal (result , expected )
726
748
727
749
df = md .DataFrame (data1 , chunk_size = 6 )
728
- result = df .mode ().execute (** config_kw ).fetch (** config_kw )
750
+ result = df .mode ().execute (** config_idx_kw ).fetch (** config_idx_kw )
729
751
expected = data1 .mode ()
730
752
pd .testing .assert_frame_equal (result , expected )
731
753
732
754
df = md .DataFrame (data1 )
733
- result = df .mode (axis = 1 ).execute ().fetch ()
755
+ result = df .mode (axis = 1 ).execute (** config_col_kw ).fetch (** config_col_kw )
734
756
expected = data1 .mode (axis = 1 )
735
757
pd .testing .assert_frame_equal (result , expected )
736
758
737
759
df = md .DataFrame (data1 , chunk_size = 3 )
738
- result = df .mode (axis = 1 ).execute (** config_kw ).fetch (** config_kw )
760
+ result = df .mode (axis = 1 ).execute (** config_col_kw ).fetch (** config_col_kw )
739
761
expected = data1 .mode (axis = 1 )
740
762
pd .testing .assert_frame_equal (result , expected )
741
763
@@ -744,17 +766,17 @@ def test_mode(setup, check_ref_counts):
744
766
data2 .iloc [[2 , 9 , 18 ], [2 , 9 , 18 ]] = np .nan
745
767
746
768
df = md .DataFrame (data2 )
747
- result = df .mode ().execute ().fetch ()
769
+ result = df .mode ().execute (** config_col_kw ).fetch (** config_col_kw )
748
770
expected = data2 .mode ()
749
771
pd .testing .assert_frame_equal (result , expected )
750
772
751
773
df = md .DataFrame (data2 , chunk_size = 3 )
752
- result = df .mode (dropna = False ).execute (** config_kw ).fetch (** config_kw )
774
+ result = df .mode (dropna = False ).execute (** config_idx_kw ).fetch (** config_idx_kw )
753
775
expected = data2 .mode (dropna = False )
754
776
pd .testing .assert_frame_equal (result , expected )
755
777
756
778
df = md .DataFrame (data1 , chunk_size = 3 )
757
- result = df .mode (axis = 1 ).execute (** config_kw ).fetch (** config_kw )
779
+ result = df .mode (axis = 1 ).execute (** config_col_kw ).fetch (** config_col_kw )
758
780
expected = data1 .mode (axis = 1 )
759
781
pd .testing .assert_frame_equal (result , expected )
760
782
@@ -1008,7 +1030,10 @@ def test_dataframe_aggregate(setup, check_ref_counts):
1008
1030
mean_9 = NamedAgg (9 , "mean" ),
1009
1031
)
1010
1032
result = df .agg (** agg_kw )
1011
- pd .testing .assert_frame_equal (result .execute ().fetch (), data .agg (** agg_kw ))
1033
+ pd .testing .assert_frame_equal (
1034
+ result .execute ().fetch (extra_config = {"check_shape" : False }),
1035
+ data .agg (** agg_kw ),
1036
+ )
1012
1037
1013
1038
1014
1039
def test_series_aggregate (setup , check_ref_counts ):
0 commit comments