(self, left, left_mask, right, right_mask)
return lefti, righti, None
Compute a two-row array of indices:
        - the first row contains indices for the primary table,
        - the second row contains the matching rows in the extra table or -1
Compute a two-row array of indices:
        - the first row contains indices for the primary table,
        - the second row contains the matching rows in the extra table or -1
Compute a two - row array of indices : - the first row contains indices for the primary table - the second row contains the matching rows in the extra table or - 1
def _left_join_indices(self, left, left_mask, right, right_mask):
        """Compute a two-row array of indices:
        - the first row contains indices for the primary table,
        - the second row contains the matching rows in the extra table or -1"""
        data = self.data
        # Don't match nans. This is needed since numpy may change nan to string
        # nan, so nan's will match each other
        indices = np.arange(len(right))
        indices[~right_mask] = -1
        if right.shape[1] == 1:
            # The more common case can be handled faster
            right_map = dict(zip(right.flatten(), indices))
            righti = (right_map.get(val, -1) for val in left.flatten())
        else:
            right_map = dict(zip(map(tuple, right), indices))
            righti = (right_map.get(tuple(val), -1) for val in left)
        righti = np.fromiter(righti, dtype=np.int64, count=len(data))
        lefti = np.arange(len(data), dtype=np.int64)
        righti[lefti[~left_mask]] = -1
        return lefti, righti, None
def _left_join_indices ( self , left , left_mask , right , right_mask ) : data = self . data # Don't match nans. This is needed since numpy may change nan to string # nan, so nan's will match each other indices = np . arange ( len ( right ) ) indices [ ~ right_mask ] = - 1 if right . shape [ 1 ] == 1 : # The more common case can be handled faster right_map = dict ( zip ( right . flatten ( ) , indices ) ) righti = ( right_map . get ( val , - 1 ) for val in left . flatten ( ) ) else : right_map = dict ( zip ( map ( tuple , right ) , indices ) ) righti = ( right_map . get ( tuple ( val ) , - 1 ) for val in left ) righti = np . fromiter ( righti , dtype = np . int64 , count = len ( data ) ) lefti = np . arange ( len ( data ) , dtype = np . int64 ) righti [ lefti [ ~ left_mask ] ] = - 1 return lefti , righti , None