AttributeError:“Graph”对象没有属性“node”

2024-04-25 06:56:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下面的python代码来构建knn-graph,但是我有一个错误:AttributeError:“graph”对象没有属性“node”。看来nx.图形()没有节点属性,但我不知道应该用它替换什么。在

import networkx as nx
def knn_graph(df, k, verbose=False):
    points = [p[1:] for p in df.itertuples()]
    g = nx.Graph()
    if verbose: print ("Building kNN graph (k = %d)" % (k))
    iterpoints = tqdm(enumerate(points), total=len(points)) if verbose else enumerate(points)
    for i, p in iterpoints:
        distances = map(lambda x: euclidean_distance(p, x), points)
        closests = np.argsort(distances)[1:k+1] # second trough kth closest
        for c in closests:
            g.add_edge(i, c, weight=distances[c])
        g.node[i]['pos'] = p
    return g

Tags: innodedfforverboseif属性points