(Python) Найти все пары симметрии в Dataframe

glouis спросил: 14 ноября 2017 в 05:32 в: python

У меня есть фрейм данных со столбцами, назовем их A и B, я хочу найти все пары симметрий, например, если:

pd.DataFrame({'A':[1, 2 , 3], 'B':[2, 1, 3]})

я хочу вернуть все пары, как здесь, я получит (мне на самом деле не нужны оба, только (2,1) или (2,1) достаточно)

(1,2) and (2,1)

Сначала я попробовал алгоритм, который работает, но на самом деле медленно в моем кадре данных длиной 26325 через 10 минут он не был закончен

listTuples = list()
for index, row in test.iterrows():
    listTuples.append((row["A"], row["B"])) # convert to a list of tupleanswer = [(x, y) for (x, y) in listTuples if (y, x) in listTuples]

0 ответов