@@ -2937,21 +2937,20 @@ def test_merge_multiindex_single_level():
29372937
29382938
29392939def test_merge_multiindex_reset_index_mixed ():
2940- # GH#62150 - merging reset MultiIndex when one df has single-level index
2941- # Bug existed in 2.3.1, fixed in 3.0.0, this test prevents regression
2942-
2943- # Create first dataframe with MultiIndex on both index and columns
2944- df = DataFrame (data = {("column_1" , "" ): [1 , 1 ], ("column_2" , "" ): [2 , 2 ]})
2945- df .index = MultiIndex .from_arrays (
2946- [[1 , 1 ], ["metadata_1" , "metadata_2" ]], names = ["index" , "metadata" ]
2940+ # GH#62150
2941+ df = DataFrame (
2942+ {("column_1" , "" ): [1 , 1 ], ("column_2" , "" ): [2 , 2 ]},
2943+ index = MultiIndex .from_arrays (
2944+ [[1 , 1 ], ["metadata_1" , "metadata_2" ]], names = ["index" , "metadata" ]
2945+ ),
29472946 )
29482947
2949- # Create second dataframe with single index and MultiIndex columns
2950- df2 = DataFrame (data = [1 , 1 ], index = [1 , 1 ]).rename_axis ("index" , axis = 0 )
2951- df2 .columns = MultiIndex .from_product ([["new_data" ], ["" ]])
2948+ df2 = DataFrame (
2949+ data = [1 , 1 ],
2950+ index = Index ([1 , 1 ], name = "index" ),
2951+ columns = MultiIndex .from_product ([["new_data" ], ["" ]]),
2952+ )
29522953
2953- # Test merge with on='index' - should work
2954- # Note: PerformanceWarning is expected due to non-lexsorted MultiIndex
29552954 with tm .assert_produces_warning (pd .errors .PerformanceWarning ):
29562955 result = df .reset_index ().merge (df2 .reset_index (), on = "index" )
29572956
@@ -2968,8 +2967,6 @@ def test_merge_multiindex_reset_index_mixed():
29682967
29692968 tm .assert_frame_equal (result , expected )
29702969
2971- # Test merge with on=[('index', '')] - should also work
2972- # Warning may or may not be raised depending on internal state
29732970 result2 = df .reset_index ().merge (df2 .reset_index (), on = [("index" , "" )])
29742971 tm .assert_frame_equal (result2 , expected )
29752972
0 commit comments