NetworkX报错AttributeError:无from_numpy_matrix属性,如何解决?
解决AttributeError: module 'networkx' has no attribute 'from_numpy_matrix'的问题
问题原因
NetworkX 2.6及以上版本已弃用并移除了from_numpy_matrix函数,取而代之的是from_numpy_array(因为NumPy的matrix类本身已被弃用,df.values返回的是numpy数组而非矩阵,函数命名更贴合实际输入类型)。
解决方案
1. 直接替换函数(推荐)
将代码中的nx.from_numpy_matrix替换为nx.from_numpy_array,参数用法完全一致:
G = nx.from_numpy_array(df.values, parallel_edges=False, create_using=nx.DiGraph())
2. 降级NetworkX到旧版本(不推荐)
如果因特殊需求必须使用旧函数,可以安装2.5版本的NetworkX:
pip install networkx==2.5
注意:降级可能会错过新版本的bug修复和功能更新,建议优先采用第一种方案。
验证版本
可以通过以下命令查看当前NetworkX版本:
pip show networkx
内容的提问来源于stack exchange,提问作者Alonzo
相关产品推荐
相关产品推荐

