'Use _augment_indices to compute the array of indices,
then add rows in the second table without a match in the first'

def _combine_indices(self, var_data, extra_map, as_string):

    (to_add, extra_map) = tee(extra_map)
    key_map = dict(self._get_keymap(self.data, var_data, as_string))
    if (np.nan in key_map):
        del key_map[np.nan]
    keys = np.fromiter((j for (key, j) in to_add if (key not in key_map)), dtype=np.int64)
    right_indices = np.vstack((np.full(len(keys), (-1), np.int64), keys))
    return np.hstack((self._augment_indices(var_data, extra_map, as_string), right_indices))
