You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetworkX添加节点报错:module 'networkx' has no attribute 'add_nodes_from'

解决NetworkX中AttributeError: module 'networkx' has no attribute 'add_nodes_from'问题

嘿,这个坑我之前也踩过!你出错的核心原因是把add_nodes_from当成了NetworkX模块的全局函数来调用,但它其实是你创建的图对象的实例方法。

先看你代码里的问题行:

G = nx.add_nodes_from(auth_dict)

这里你试图用nx.前缀调用这个方法,但正确的姿势是在已经创建好的G这个MultiGraph实例上调用它。

给你修正后的代码:

import networkx as nx
auth_dict = {"albert": 1, "Barbie": 3, "Charlie": 8}
G = nx.MultiGraph()
# 调用图实例的add_nodes_from方法,这才是正确用法
G.add_nodes_from(auth_dict)  # 这样会把字典的键(作者名)作为节点添加

# 如果想把论文数量绑定为节点属性(比如命名为paper_count),可以这么写:
G.add_nodes_from(auth_dict.items(), paper_count=0)
# 或者更直观的循环方式:
for author, count in auth_dict.items():
    G.add_node(author, paper_count=count)

补充几个关键细节:

  • NetworkX 2.2版本完全支持add_nodes_from方法,你参考的文档没问题,只是调用方式搞错了——必须是图对象.add_nodes_from(),而非nx.add_nodes_from()。
  • 直接传auth_dict给add_nodes_from时,只会把作者名字作为节点添加;如果需要把论文数作为节点的附加属性,记得用items()把键值对传进去,或者用循环逐个添加节点并指定属性。

内容的提问来源于stack exchange,提问作者Robert Alexander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 03:51:56