Я пытаюсь выяснить, какие ребра из графика двунаправлены. Каждая строка - это ребро. Для каждого исходного узла А, я ищу каждый соответствующий конечный узел B, если они имеют узел А в качестве конечной точки:Направленный граф в pandas
for ending_point_B in nodeA:
nodeA in ending_points_of_B
Игнорирование для повторных записей в настоящее время в ЦФ [ «S»]. Как я могу оптимизировать этот поиск? Я подозреваю что-то в строю группы. Этот путь занимает слишком много времени для моего реального графика.
Спасибо
from pandas import *
def missing_node(node):
set1 = set(df[df.E == node].S.values)
set2 = set(df.E[df.S == node].values)
return list(set1.difference(set2))
x = [1,1,2,2,3]
y = [2,3,1,3,1]
df = DataFrame([x,y]).T
df.columns = ['S','E'] #Start & End
df['Missing'] = df.S.apply(missing_node)
df:
S E Missing
0 1 2 []
1 1 3 []
2 2 1 []
3 2 3 []
4 3 1 [2]
Да, мне не нужны панды, но для последующего анализа это стало полезным и просто пыталось лучше понять структуры данных pandas. Спасибо за подсказку. – poeticcapybara