Панды находят повторяющиеся пары между двумя столбцами данныхPython

Программы на Python
Ответить
Anonymous
 Панды находят повторяющиеся пары между двумя столбцами данных

Сообщение Anonymous »

У меня есть набор данных, содержащий 3 столбца. Это краевые соединения между узлами и прочность соединения. Я пытаюсь найти и объединить лишние ребра, которые могут возникнуть, когда направление идет в противоположном направлении.
как короткий пример
data_frame = pd.DataFrame({"A":["aa", "aa", "aa", "bb", "bb", "cc", "dd", "dd"],
"B":["bb", "cc", "dd", "aa", "dd", "aa", "ee", "aa"],
"C":[4,3,4,5,3,4,2, 5]})

полученный граф узлов
aa - bb
| \ |
cc dd -- ee

Узлы перекрываются, поскольку «aa – bb» совпадает с «bb – aa» и совпадает с «aa – dd» и «dd – aa»
Я думал об объединении A и B как в прямом, так и в обратном направлении, объединении двух фреймов данных и выполнении group_by().sum(), но в итоге у меня остались дополнительные функции, которые необходимо впоследствии удалено.
В идеале это должно работать именно так
A | B | C A | B | C
aa bb 4 aa bb 9
aa cc 3 aa cc 7
aa dd 4 aa dd 9
bb aa 5 bb dd 3
bb dd 3 --> dd ee 2
cc aa 4
dd ee 2
dd aa 5


Подробнее здесь: https://stackoverflow.com/questions/791 ... ns-of-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»