Хорошо, я знаю, что это должно быть легко, но решение ускользает от меня. Я делаю некоторый анализ социальной сети в питона и имеют панд Dataframe (соединений), которые содержат данные, как это ...Обычный выбор предметов - Pandas Dataframe
uid | name | fuID | friendName |
1 | Bob | f1 | Jimmy |
1 | Bob | f2 | Frank |
1 | Bob | f3 | Sal |
2 | Mark | f4 | Leon |
2 | Mark | f1 | Jimmy |
2 | Mark | f5 | Artie |
3 | Steve | f1 | Jimmy |
3 | Steve | f5 | Artie |
3 | Steve | f6 | Samuel |
Цель состоит в том, чтобы найти все общие друзья, другими словами, я хотел бы быть в состоянии найти все friendName/fuID, которые имеют более одного соединения и какие эти соединения. Например, Джимми подключен к Бобу, Марку и Стиву.
Я могу создать группу достаточно легко ... connections.groupby («uid») и предположил, что существует способ сравнить их с группами, чтобы найти общие предметы, но я ударил стену. Я начал создавать комплекс для цикла, чтобы перебирать группы и просто останавливался, зная, что должен быть простой способ сделать это, что я просто отсутствую.
Любая помощь была бы принята с благодарностью.
Возможно, вам лучше использовать networkx, чтобы найти клики, а не панды – EdChum
спасибо за предложение. Я играл с этим сейчас, и это, безусловно, помогает на фронте визуализации. Мне не пришло в голову использовать networkx для исследовательской части проекта. – Thatch