@@ -62,11 +62,8 @@ def df_letters():
62
62
63
63
64
64
@pytest .fixture
65
- def raw_frame (multiindex_dataframe_random_data ):
66
- df = multiindex_dataframe_random_data
67
- df .iloc [1 , [1 , 2 ]] = np .nan
68
- df .iloc [7 , [0 , 1 ]] = np .nan
69
- return df
65
+ def raw_frame ():
66
+ return DataFrame ([0 ])
70
67
71
68
72
69
@pytest .mark .parametrize ("op" , AGG_FUNCTIONS )
@@ -84,14 +81,21 @@ def test_regression_allowlist_methods(raw_frame, op, axis, skipna, sort):
84
81
frame = raw_frame .T
85
82
86
83
if op in AGG_FUNCTIONS_WITH_SKIPNA :
87
- grouped = frame .groupby ("first" , axis = axis , sort = sort )
84
+ grouped = frame .groupby (level = 0 , axis = axis , sort = sort )
88
85
result = getattr (grouped , op )(skipna = skipna )
86
+ expected = frame .groupby (level = 0 ).apply (
87
+ lambda h : getattr (h , op )(axis = axis , skipna = skipna )
88
+ )
89
+ if sort :
90
+ expected = expected .sort_index (axis = axis )
91
+ tm .assert_frame_equal (result , expected )
89
92
else :
90
- grouped = frame .groupby ("first" , axis = axis , sort = sort )
93
+ grouped = frame .groupby (level = 0 , axis = axis , sort = sort )
91
94
result = getattr (grouped , op )()
92
- # Previously compared to frame.op(level=...), but level removed in 2.0
93
- # TODO(GH 49629): Assert something better
94
- assert isinstance (result , DataFrame )
95
+ expected = frame .groupby (level = 0 ).apply (lambda h : getattr (h , op )(axis = axis ))
96
+ if sort :
97
+ expected = expected .sort_index (axis = axis )
98
+ tm .assert_frame_equal (result , expected )
95
99
96
100
97
101
def test_groupby_blocklist (df_letters ):
0 commit comments