首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

NetworkX学习札记-2-基本使用方法举例

2013-03-19 
NetworkX学习笔记-2-基本使用方法举例这里来总结一些NetworkX的最基本使用方法。首先,NetworkX安装后,其源

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 -*-就可以。具体看用到什么汉字编码方式。


热点排行