Jac*_*ins 2 python networkx canopy
我有一个文本文件,它是边缘列表文件。我知道如何读取文件(使用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.
Run Code Online (Sandbox Code Playgroud)