|
21 | 21 |
|
22 | 22 |
|
23 | 23 | class TestMultiLevel:
|
24 |
| - def test_append(self, multiindex_dataframe_random_data): |
25 |
| - frame = multiindex_dataframe_random_data |
26 |
| - |
27 |
| - a, b = frame[:5], frame[5:] |
28 |
| - |
29 |
| - result = a.append(b) |
30 |
| - tm.assert_frame_equal(result, frame) |
31 |
| - |
32 |
| - result = a["A"].append(b["A"]) |
33 |
| - tm.assert_series_equal(result, frame["A"]) |
34 |
| - |
35 |
| - def test_dataframe_constructor_infer_multiindex(self): |
36 |
| - multi = DataFrame( |
37 |
| - np.random.randn(4, 4), |
38 |
| - index=[np.array(["a", "a", "b", "b"]), np.array(["x", "y", "x", "y"])], |
39 |
| - ) |
40 |
| - assert isinstance(multi.index, MultiIndex) |
41 |
| - assert not isinstance(multi.columns, MultiIndex) |
42 |
| - |
43 |
| - multi = DataFrame( |
44 |
| - np.random.randn(4, 4), columns=[["a", "a", "b", "b"], ["x", "y", "x", "y"]] |
45 |
| - ) |
46 |
| - assert isinstance(multi.columns, MultiIndex) |
47 |
| - |
48 |
| - def test_series_constructor_infer_multiindex(self): |
49 |
| - multi = Series( |
50 |
| - 1.0, index=[np.array(["a", "a", "b", "b"]), np.array(["x", "y", "x", "y"])] |
51 |
| - ) |
52 |
| - assert isinstance(multi.index, MultiIndex) |
53 |
| - |
54 |
| - multi = Series(1.0, index=[["a", "a", "b", "b"], ["x", "y", "x", "y"]]) |
55 |
| - assert isinstance(multi.index, MultiIndex) |
56 |
| - |
57 |
| - multi = Series(range(4), index=[["a", "a", "b", "b"], ["x", "y", "x", "y"]]) |
58 |
| - assert isinstance(multi.index, MultiIndex) |
59 |
| - |
60 | 24 | def test_reindex_level(self, multiindex_year_month_day_dataframe_random_data):
|
61 | 25 | # axis=0
|
62 | 26 | ymd = multiindex_year_month_day_dataframe_random_data
|
@@ -278,18 +242,17 @@ def test_std_var_pass_ddof(self):
|
278 | 242 | expected = df.groupby(level=0).agg(alt)
|
279 | 243 | tm.assert_frame_equal(result, expected)
|
280 | 244 |
|
281 |
| - def test_frame_series_agg_multiple_levels( |
282 |
| - self, multiindex_year_month_day_dataframe_random_data |
| 245 | + @pytest.mark.parametrize("klass", [Series, DataFrame]) |
| 246 | + def test_agg_multiple_levels( |
| 247 | + self, multiindex_year_month_day_dataframe_random_data, klass |
283 | 248 | ):
|
284 | 249 | ymd = multiindex_year_month_day_dataframe_random_data
|
| 250 | + if klass is Series: |
| 251 | + ymd = ymd["A"] |
285 | 252 |
|
286 | 253 | result = ymd.sum(level=["year", "month"])
|
287 | 254 | expected = ymd.groupby(level=["year", "month"]).sum()
|
288 |
| - tm.assert_frame_equal(result, expected) |
289 |
| - |
290 |
| - result = ymd["A"].sum(level=["year", "month"]) |
291 |
| - expected = ymd["A"].groupby(level=["year", "month"]).sum() |
292 |
| - tm.assert_series_equal(result, expected) |
| 255 | + tm.assert_equal(result, expected) |
293 | 256 |
|
294 | 257 | def test_groupby_multilevel(self, multiindex_year_month_day_dataframe_random_data):
|
295 | 258 | ymd = multiindex_year_month_day_dataframe_random_data
|
|
0 commit comments