def _previous_nonoverlapping(left_starts, right_ends, right_indexes): left_starts = left_starts.sort_values() right_ends = right_ends.sort_values() r_idx, dist = nearest_previous_nonoverlapping(left_starts.values, right_ends.values - 1, right_ends.index.values) # print("ridx before", r_idx) r_idx = pd.Series(r_idx, index=left_starts.index).sort_index().values dist = pd.Series(dist, index=left_starts.index).sort_index().values # print("ridx after", r_idx) return r_idx, dist
def _previous_nonoverlapping(left_starts, right_ends): left_starts = left_starts.sort_values() right_ends = right_ends.sort_values() r_idx, dist = nearest_previous_nonoverlapping(left_starts.values, right_ends.values - 1, right_ends.index.values) r_idx = pd.Series(r_idx, index=left_starts.index).sort_index().values dist = pd.Series(dist, index=left_starts.index).sort_index().values return r_idx, dist