@@ -2149,8 +2149,6 @@ def test_merge_index_types(index):
2149
2149
(None , None , None , True , True , "B" ),
2150
2150
(None , ["outer" , "inner" ], None , False , True , "B" ),
2151
2151
(None , None , ["outer" , "inner" ], True , False , "B" ),
2152
- (["outer" , "inner" ], None , None , False , False , ("B" , "C" )),
2153
- (None , None , ["outer" , "inner" ], True , False , ("B" , "C" )),
2154
2152
(["outer" , "inner" ], None , None , False , False , None ),
2155
2153
(None , None , None , True , True , None ),
2156
2154
(None , ["outer" , "inner" ], None , False , True , None ),
@@ -2169,7 +2167,7 @@ def test_merge_series(on, left_on, right_on, left_index, right_index, nm):
2169
2167
name = nm ,
2170
2168
)
2171
2169
expected = DataFrame (
2172
- {"A" : [2 , 4 ], nm : [1 , 3 ]},
2170
+ {"A" : [2 , 4 ], "B" : [1 , 3 ]},
2173
2171
index = MultiIndex .from_product ([["a" , "b" ], [1 ]], names = ["outer" , "inner" ]),
2174
2172
)
2175
2173
if nm is not None :
@@ -2197,6 +2195,39 @@ def test_merge_series(on, left_on, right_on, left_index, right_index, nm):
2197
2195
)
2198
2196
2199
2197
2198
+ @pytest .mark .parametrize (
2199
+ "on,left_on,right_on,left_index,right_index,name" ,
2200
+ [
2201
+ (["outer" , "inner" ], None , None , False , False , ("B" , "C" )),
2202
+ (None , None , ["outer" , "inner" ], True , False , ("B" , "C" )),
2203
+ ],
2204
+ )
2205
+ def test_merge_series_multilevel (on , left_on , right_on , left_index , right_index , name ):
2206
+ a = DataFrame (
2207
+ {"A" : [1 , 2 , 3 , 4 ]},
2208
+ index = MultiIndex .from_product ([["a" , "b" ], [0 , 1 ]], names = ["outer" , "inner" ]),
2209
+ )
2210
+ b = Series (
2211
+ [1 , 2 , 3 , 4 ],
2212
+ index = MultiIndex .from_product ([["a" , "b" ], [1 , 2 ]], names = ["outer" , "inner" ]),
2213
+ name = name ,
2214
+ )
2215
+ expected = DataFrame (
2216
+ {"A" : [2 , 4 ], name : [1 , 3 ]},
2217
+ index = MultiIndex .from_product ([["a" , "b" ], [1 ]], names = ["outer" , "inner" ]),
2218
+ )
2219
+ result = merge (
2220
+ a ,
2221
+ b ,
2222
+ on = on ,
2223
+ left_on = left_on ,
2224
+ right_on = right_on ,
2225
+ left_index = left_index ,
2226
+ right_index = right_index ,
2227
+ )
2228
+ tm .assert_frame_equal (result , expected )
2229
+
2230
+
2200
2231
@pytest .mark .parametrize (
2201
2232
"col1, col2, kwargs, expected_cols" ,
2202
2233
[
0 commit comments