def METHOD_NAME(self):
    two_way_cols = list(set([col[:-3] for col in list(self.links_df.columns) if col[-3:] in ["_ab", "_ba"]]))
    ab_links = pd.DataFrame(self.links_df[self.links_df.direction > -1], copy=True)
    ba_links = pd.DataFrame(self.links_df[self.links_df.direction < 1], copy=True)
    # treats ab_links and bi-directionals
    if ab_links.shape[0]:
        ab_links.loc[:, "dir_flag"] = 1
        for col in two_way_cols:
            ab_links.loc[:, col] = ab_links.loc[:, col + "_ab"]
    # treats ba_links and bi-directionals
    if ba_links.shape[0]:
        ba_links.loc[:, "direction"] = 1
        ba_links.loc[:, "dir_flag"] = -1
        b = ba_links.b_node.to_numpy()
        ba_links.loc[:, "b_node"] = ba_links.a_node.to_numpy()[:]
        ba_links.loc[:, "a_node"] = b[:]
        for col in two_way_cols:
            ba_links.loc[:, col] = ba_links.loc[:, col + "_ba"]
    self.links_df = pd.concat([ab_links, ba_links])