@@ -1286,15 +1286,16 @@ def _get_join_indexers(left_keys, right_keys, sort=False, how="inner", **kwargs)
1286
1286
llab , rlab , shape = map (list , zip (* map (fkeys , left_keys , right_keys )))
1287
1287
1288
1288
# get flat i8 keys from label lists
1289
- print (llab , rlab )
1290
1289
lkey , rkey = _get_join_keys (llab , rlab , shape , sort )
1291
1290
1292
1291
# factorize keys to a dense i8 space
1293
1292
# `count` is the num. of unique keys
1294
1293
# set(lkey) | set(rkey) == range(count)
1295
1294
1296
- print (lkey , rkey )
1297
- lkey , rkey , count = fkeys (lkey , rkey )
1295
+ if how == "right" :
1296
+ rkey , lkey , count = fkeys (rkey , lkey )
1297
+ else :
1298
+ lkey , rkey , count = fkeys (lkey , rkey )
1298
1299
# preserve left frame order if how == 'left' and sort == False
1299
1300
kwargs = copy .copy (kwargs )
1300
1301
if how == "left" :
@@ -1823,22 +1824,8 @@ def _left_join_on_index(left_ax, right_ax, join_keys, sort=False):
1823
1824
1824
1825
1825
1826
def _right_outer_join (x , y , max_groups ):
1826
- new_x = []
1827
- for i in y :
1828
- if i in x :
1829
- new_x .append (i )
1830
- else :
1831
- new_x .append (- 1 )
1832
-
1833
- return np .array (new_x ), np .array ([0 , 1 , 2 ])
1834
- # right_indexer, left_indexer = libjoin.left_outer_join(y, x, max_groups)
1835
- # print('right_index: ', y, " - ", right_indexer)
1836
- # print('left_index: ', x, " - ", left_indexer)
1837
-
1838
- # assert np.array_equal(left_indexer, np.array([1, 2, -1]))
1839
- # assert np.array_equal(right_indexer, np.array([1, 2, 0]))
1840
- # return np.array([-1, 1, 2]), np.array([0,1,2])
1841
- # return left_indexer, right_indexer
1827
+ right_indexer , left_indexer = libjoin .left_outer_join (y , x , max_groups )
1828
+ return left_indexer , right_indexer
1842
1829
1843
1830
1844
1831
_join_functions = {
0 commit comments