如何在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')