NetworkX学习笔记-2-基本使用方法举例
这里来总结一些NetworkX的最基本使用方法。首先,NetworkX安装后,其源码的位置在:%Python安装目录%\Lib\site-packages\networkx-1.7-py2.7.egg\networkx下,可以阅读其源码了解实现细节。另外,NetworkX在线帮助文档在:http://networkx.github.com/documentation/development/
作为初学者,甚至有些朋友之前都没接触过Python,那么入门的NetworkX使用方法就是使用其进行一些最简单的复杂网络分析,这里以有向网络为例,来总结一些最基础的网络度量指标的计算。
分析复杂网络时,最先想到的是其度分布,如果是无向网络(下面代码中无向或有向网络,都用G表示),那么可以通过:
def basic_info(G): f=open('basic_info.txt','w') f.write('网络节点数:') f.write(str(G.number_of_nodes()) + '\n') f.write('网络边数:') f.write(str(G.size()) + '\n') f.write('网络边加权和:') f.write(str(G.size(weight='weight')) + '\n') scc=nx.strongly_connected_components(G)#返回强连通子图的list wcc=nx.weakly_connected_components(G)#返回弱连通子图的list f.write('弱连通子图个数:') f.write(str(len(wcc)) + '\n') f.write('强连通子图个数:') f.write(str(len(scc)) + '\n') largest_scc=scc[0]#返回最大的强连通子图 f.write('最大强连通子图节点数:') f.write(str(len(largest_scc)) + '\n') f.write('有向图平均路径长度:') f.write(str(nx.average_shortest_path_length(G)) + '\n') G=G.to_undirected() f.write('平均聚类系数:') f.write(str(nx.average_clustering(G)) + '\n') f.write('平均路径长度:') f.write(str(nx.average_shortest_path_length(G)) + '\n')
大家稍微看看就知道代码具体含义。今天就总结这么多。
这里再补充一点,上面用到了中文的编码和注释,如果直接用Python去解析,可能会报错,这时只需要在py文件最开头加上一行:# -*- coding:GBK -*-或# -*- coding:UTF-8 -*-就可以。具体看用到什么汉字编码方式。