如何在python中找到两个相邻节点之间的负权重
嗨,我有一个大的文本文件,格式如下:如何在python中找到两个相邻节点之间的负权重,python,graph,networkx,Python,Graph,Networkx,嗨,我有一个大的文本文件,格式如下: 1 3 1 2 3 -1 5 7 1 6 1 -1 3 2 -1 第一列是起始节点,第二列是结束节点,第三列显示两个节点之间的符号。所以我有积极和消极的迹象。 我正在用下面的代码阅读图表: G = nx.Graph() G = nx.read_edgelist('network.txt', delimiter='\t', nodetype=int, data=(('weight', int),)) print(nx.info(G))
1 3 1
2 3 -1
5 7 1
6 1 -1
3 2 -1
第一列是起始节点,第二列是结束节点,第三列显示两个节点之间的符号。所以我有积极和消极的迹象。
我正在用下面的代码阅读图表:
G = nx.Graph()
G = nx.read_edgelist('network.txt', delimiter='\t', nodetype=int, data=(('weight', int),))
print(nx.info(G))
我还找到了一个函数来查找特定节点的邻居:
list1 = list(G.neigbors(1))
所以我有一个节点1的邻接节点列表。a如何在节点1和每个相邻节点之间找到符号?(例如,1-3之间的边具有符号1,边1-5具有符号-1等)节点
1
的示例:
n_from = 1
for n_to in G.neighbors(n_from):
sign = G[n_from][n_to]['weight']
print('edge from {} to {} has sign {}'.format(
n_from, n_to, sign))
对于您提供的示例输入,哪些打印:
从1到3的边有符号1从1到6的边具有符号-1 一种类似的方法,将
G[n_from]
视为一条指令:
您也可以使用Graph.get_edge_data
,例如:
e_data = G.get_edge_data(n_from, n_to)
sign = e_data.get('weight')
e_data = G.get_edge_data(n_from, n_to)
sign = e_data.get('weight')