问题来源
最近在研究图神经网络相关的内容,刚开始入门,不太想直接用networkx自带的nx.karate_club_graph()
把数据集缓存到C盘,所以自己在网上手动下载了空手道俱乐部网络数据集karate_club_graph,我下载下来是一个karate.gml文件。下载地址在这里:社交网络数据集
起初首先用netwokx.read_gml()加载文件:
import networkx as nx
G = nx.read_gml("karate.gml") #读取空手道俱乐部图网络数据
运行程序,报错如下:
etworkx.exception.NetworkXError: node #0 has no ‘label’ attribute
解决方法
在read_gml()里面设置参数label,把label设为gml文件里结点的唯一标识。对于空手道俱乐部这个数据集,标识是id。所以增加参数label='id'
。
即将上面的代码改为如下:
import networkx as nx
G = nx.read_gml("karate.gml",label='id') #读取空手道俱乐部图网络数据
问题解决!
深度探索
感兴趣可以看一看这个:
networkx官方文档关于read_gml的解释