File tree Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -1319,17 +1319,19 @@ def _get_join_indexers(
1319
1319
# `count` is the num. of unique keys
1320
1320
# set(lkey) | set(rkey) == range(count)
1321
1321
1322
+ # flip left and right keys if performing a right merge
1323
+ # to preserve right merge row order (GH 27453)
1322
1324
if how == "right" :
1323
- rkey , lkey , count = fkeys (rkey , lkey )
1325
+ factorized_rkey , factorized_lkey , count = fkeys (rkey , lkey )
1324
1326
else :
1325
- lkey , rkey , count = fkeys (lkey , rkey )
1327
+ factorized_lkey , factorized_rkey , count = fkeys (lkey , rkey )
1326
1328
# preserve left frame order if how == 'left' and sort == False
1327
1329
kwargs = copy .copy (kwargs )
1328
1330
if how == "left" :
1329
1331
kwargs ["sort" ] = sort
1330
1332
join_func = _join_functions [how ]
1331
1333
1332
- return join_func (lkey , rkey , count , ** kwargs )
1334
+ return join_func (factorized_lkey , factorized_rkey , count , ** kwargs )
1333
1335
1334
1336
1335
1337
def _restore_dropped_levels_multijoin (
You can’t perform that action at this time.
0 commit comments