Я хочу сравнить каждую строку со всеми другими строками в пандах.
Имея этот фрейм данных:
index entity
a 1
2
3
b 3
3
9
c 10
0
1
d 9
3
0
Я хочу найти соответствие:
[0,1], [0,2], [0,3]
(это индексы) потому что 1,2,3 (это значения в столбце) существует в каждом столбце. Кроме того, как я могу на самом деле считать повторяющиеся совпадения? Например, индекс A находит пару со всеми значениями (один, два, три), индекс C только с 1 значением (ноль).
Я понимаю, что мне нужно держать строку с индексом A в переменной, а затем сравниватьэто против всех других строк в цикле. После этого я перехожу к строке с индексом B и повторяю это действие для каждой второй строки, включая строку с индексом A.
Как мне удерживать одну строку в памяти и проверять ее по всем другим строкам?
Вывод может быть в формате списка [0,1], [0,2], где числа являются индексами.
Это своего рода псевдокод, который я сейчас имею в виду:
var = [x for x in e_dataframe.entity]
for rows in e_dataframe.entity:
for x in var:
if x == rows:
print('match', x, ' and ', rows)
else:
print('not match ', x , ' and ', rows)
Где entity
каков будет наш столбец с числовыми значениями выше.
Конечно, это неправильно, я ничего не сопоставляю. Я почему-то не могу обернуться, чтобы написать этот цикл.