使用NetworkX构建随机二分图遇AttributeError问题求助
解决NetworkX中
AttributeError: module networkx has no attribute bipartite_random_graph的问题 错误原因很明确:bipartite_random_graph并不在NetworkX的顶层命名空间里,而是属于networkx.bipartite子模块,直接通过nx.调用自然找不到。
针对你的NetworkX 2.8.7版本,有两种修改方式可以解决:
方式一:单独导入目标函数
修改代码导入语句,直接从二分图子模块导入bipartite_random_graph:
from networkx.algorithms.bipartite import bipartite_random_graph import networkx as nx if __name__ == "__main__": g = bipartite_random_graph(3, 2, 0.5, seed=None, directed=False) a = nx.adjacency_data(g)
方式二:通过子模块访问函数
保持原有导入语句不变,调用时通过nx.bipartite子模块访问:
import networkx as nx if __name__ == "__main__": g = nx.bipartite.random_graph(3, 2, 0.5, seed=None, directed=False) a = nx.adjacency_data(g)
补充说明:NetworkX中大部分二分图相关的生成器、算法都归类在bipartite子模块下,后续使用这类功能时,都需要通过子模块访问或单独导入对应函数。
内容的提问来源于stack exchange,提问作者samabu
相关产品推荐
相关产品推荐

