我是 networkx 的新手,不知道如何读取我的特定数据格式。
我有一些看起来像(节点,它连接到的节点列表)的数据,如下所示:
('person 1', 'person 2, person 3, person 4')
我想添加边缘,使它们看起来像这样:
('person 1', 'person 2')
('person 1', 'person 3')
('person 1', 'person 4')
有没有办法指定第一个节点,并迭代列表以获取其余节点?在我的 csv 文件中,一列是主节点,第二列是它连接到的节点列表,但我一生都无法弄清楚如何一次添加它们。
请您参考如下方法:
虽然没有内置方法,但您可以使用 Python 切片和列表理解将它们添加到一行中。
import networkx as nx
G = nx.Graph()
nodes = list("ABCD")
G.add_nodes_from(nodes)
G.add_edges_from([(nodes[0],node) for node in nodes[1:]])
nodes[1:] 是一个列表,其中第一项被跳过
