簡體   English   中英

測試圖形是Edgelist文件中的有向圖還是無向圖

[英]Testing if a graph is Directed or Undirected Graph from Edgelist file

我有一個文本文件,它是邊緣列表文件。 我知道如何讀取文件(使用Canopy Enthought),但是我不知道如何獲取有關所需圖形的信息。

主要問題 :是否可以使用networkx命令檢測此圖(從邊緣列表文件創建)是有向的還是無向的? 還是只是稱重或稱重?

我相信您必須在使用邊緣列表文件之前指定圖的類型。 因為邊緣列表文件僅由包含要連接的節點的元組組成,而無需說明它們如何連接。 因此,例如,如果您創建一個圖形G = nx.Graph() ,那么如果文件中的節點對重復,則它們之間仍然會有一條邊,並且節點的順序無關緊要; ((node1,node2)等效於(node2,node1))。 如果您以G = nx.DiGraph()創建圖,則節點的順序會有所不同。 同樣,在重復的情況下,指定G = nx.MultiGraph()會存在多個邊。 讀取邊緣列表文件時, G = nx.MultiDiGraph()將具有不同的結果。 因此,請查看圖形類型文檔以了解所需的類型。

要檢查圖形是否有向,可以使用 nx.is_directed(G) ,您可以在此處找到文檔。

檢查圖形是否加權沒有具體類型可以說明圖形是否具有加權邊。 但周圍的工作可以檢查是否含有邊重量所謂的屬性,如提到這里 可以通過

'weight' in G[1][2] # Returns true if an attribute called weight exists in the edge connecting nodes 1 and 2.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM