그래프에서 어느 쪽 가장자리가 양방향인지를 찾으려고합니다. 각 행은 가장자리입니다. DF [ 'S'] 이제 반복 항목의팬더의 지시 그래프
for ending_point_B in nodeA:
nodeA in ending_points_of_B
무시한 : 그들은 종료점으로 노드 (A)가있는 경우, 각 출발 노드 (A)의 경우, I는 각 해당 엔드 노드 B를 탐색하고있다. 이 검색을 어떻게 최적화 할 수 있습니까? 나는 groupby 라인을 따라 뭔가 의심해. 이 방법은 내 실제 그래프에 너무 많은 시간이 걸립니다. 내가 제대로 문제를 이해한다면
은 양방향이 아닌 모든 노드 쌍을 찾을 필요가 당신에게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]
네, 판다가 필요하지 않았지만 사후 분석을 위해 유용 해졌으며 팬더의 데이터 구조를 더 잘 이해합니다. 지퍼 끝 주셔서 감사합니다. – poeticcapybara