存储networkx图形对象



我用networkX制作了一个大约有5000个节点的大型图。每次执行脚本时,创建这个图大约需要30秒。经过这段相对较长的时间后,我可以像shortest_path等运行我的分析

我的问题是,有没有办法将这个图的对象存储在文件或类似的文件中,每次我运行脚本时,networkX都会读取该文件并加载我的所有图?

从2.6版本起,方法write_gpickleread_gpickle已弃用。试试这个:

import pickle
# save graph object to file
pickle.dump(G, open('filename.pickle', 'wb'))
# load graph object from file
G = pickle.load(open('filename.pickle', 'rb'))

注意open()中要转储的'wb'和要加载的'rb'选项。

您可以使用gpickle来执行此操作。假设你的图用G表示,你可以用保存它

nx.write_gpickle(G,'myGraph.gpickle')

并加载

G = nx.read_gpickle('myGraph.gpickle')

https://networkx.org/documentation/stable//reference/readwrite/gpickle.html#pickled-图形

最新更新