Применение математической функции со значениями строк в pandas попарно

Подскажите как решить такую задачку. Есть таблица с N строк, заполненная числами. Необходимо выполнить попарное сложение элементов в столбцах и деление на их разность. Обычный intersection over union. Примерно то что имеем:

     Col1    Col2   Col3
A    
B
C
D

Нужно выполнить функцию попарно, чтоб был результат такой:

             Col1    Col2   Col3
(A+B)/(A-B)    
(A+C)/(A-C)
(A+D)/(A-D)
(B+C)/(B-C)
(B+D)/(B-D)

В колонках соответственно числа которые надо подставить в каждую функцию.


Ответы (1 шт):

Автор решения: Anton Zubochenko

Примерно так, для поиска пересечений.

np_data = list()
for i in range(matr.shape[0] - 1):
    for j in range(i + 1, matr.shape[0]):
        np_data.append((i, j, matr[i] & matr[j]))
→ Ссылка