python networkx模块,python复杂网络处理模块networkx
最近开始认真的学习发现一个 python 好玩的模块
以下内容为网上的文章整合
networkx在02年5月产生,是用python语言编写的软件包,便于用户对复杂网络进行创建、操作和学习。利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等。
NetworkX提供了4种常见网络的建模方法,分别是:规则图,ER随机图,WS小世界网络和BA无标度网络。
一. 规则图
规则图差不多是最没有复杂性的一类图,random_graphs.random_regular_graph(d, n)方法可以生成一个含有n个节点,每个节点有d个邻居节点的规则图。
下面一段示例代码,生成了包含20个节点、每个节点有3个邻居的规则图:
import networkx as nx
import matplotlib.pyplot as plt
# regular graphy
# generate a regular graph which has 20 nodes & each node has 3 neghbour nodes.
RG = nx.random_graphs.random_regular_graph(3, 20)
# the spectral layout
pos = nx.spectral_layout(RG)
# draw the regular graphy
nx.draw(RG, pos, with_labels = False, node_size = 30)
plt.show()
二、ER随机图
ER随机图是早期研究得比较多的一类“复杂”网络,模型的基本思想是以概率p连接N个节点中的每一对节点。用random_graphs.erdos_renyi_graph(n,p)方法生成一个含有n个节点、以概率p连接的ER随机图:
import networkx as nx
import matplotlib.pyplot as plt
# erdos renyi graph
# generate a graph which has n=20 nodes, probablity p = 0.2.
ER = nx.random_graphs.erdos_renyi_graph(20, 0.2)
# the shell layout
pos = nx.shell_layout(ER)
nx.draw(ER, pos, with_labels = False, node_size = 30)
plt.show()
三、WS小世界网络
用random_graphs.watts_strogatz_graph(n, k, p)方法生成一个含有n个节点、每个节点有k个邻居、以概率p随机化重连边的WS小世界网络。
下面是一个例子:
import networkx as nx
import matplotlib.pyplot as plt
# WS network
# generate a WS network which has 20 nodes,
# each node has 4 neighbour nodes,
# random reconnection probability was 0.3.
WS = nx.random_graphs.watts_strogatz_graph(20, 4, 0.3)
# circular layout
pos = nx.circular_layout(WS)
nx.draw(WS, pos, with_labels = False, node_size = 30)
plt.show()
四、BA无标度网络
用random_graphs.barabasi_albert_graph(n, m)方法生成一个含有n个节点、每次加入m条边的BA无标度网络。
下面是一个例子:
import networkx as nx
import matplotlib.pyplot as plt
# BA scale-free degree network
# generalize BA network which has 20 nodes, m = 1
BA = nx.random_graphs.barabasi_albert_graph(20, 1)
# spring layout
pos = nx.spring_layout(BA)
nx.draw(BA, pos, with_labels = False, node_size = 30)
plt.show()
python networkx模块,python复杂网络处理模块networkx相关推荐
- python底层网络交互模块_网络和并发编程(面试题)
1,python的底层网络交互模块有哪些? 答案:socket, urllib,urllib3 , requests, grab, pycurl 2,简述OSI七层模型以及列举各层协议 应用层:HTT ...
- python 网络编程模块_Python网络编程之socket模块
1.网络协议 网络协议是网络中进行数据交换与传输所需的规则.标准或约定,得到实用主要由语法(数据与信息的结构形式).语义和同步(事件的实现顺序)三个要素组成. 世界上最先提出的协议理论模型是由国际标准 ...
- Python爬虫学习笔记-第二课(网络请求模块上)
网络请求模块上 1. 相关概念介绍 1.1 向网站发起请求的方式: 1.2 url-全球统一资源定位符 1.3 User-Agent 用户代理 1.4 referer 1.5 状态码 1.6 抓包工具 ...
- python模块介绍- SocketServer 网络服务框架
转载自http://my.oschina.net/u/1433482/blog/190612 摘要 SocketServer简化了网络服务器的编写.它有4个类:TCPServer,UDPServer, ...
- Python爬虫学习笔记-第三课(网络请求模块下)
网络请求模块下 1. urllib-get案例 1.1 代码需求:爬取贴吧数据 1.2 代码思路 1.3 代码实现 2. urllib-post案例 3. requests模块简介 3.1 get案例 ...
- pythonurllib模块-Python中的urllib模块使用详解
urllib模块提供的上层接口,使我们可以像读取本地文件一样读取www和ftp上的数据.每当使用这个模块的时候,老是会想起公司产品的客户端,同事用C++下载Web上的图片,那种"痛苦&quo ...
- python爬虫模块_python实现爬虫的模块总结
网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.其本质就是利用脚本发送请求,解析响应,然后提取有用信息,最后保存下来. python由于语法简单,可 ...
- Python学习笔记:常用内建模块3:struct
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- python哪个关键字可以导入模块_关于python导入模块import与常见的模块详解
0.什么是python模块?干什么的用的? Java中如果使用abs()函数,则需要需要导入Math包,同样python也是封装的,因为python提供的函数太多,所以根据函数的功能将其封装在不同的m ...
- python psutil库安装_安装psutil模块报错安装python-devel
psutil/_psutil_linux.c:9:20: 错误:Python.h:没有那个文件或目录 In file included from psutil/_psutil_linux.c:19: ...
最新文章
- 自定义LayoutManager实现最美应用列表
- Programming in Scala 3rd edition中的一个问题
- python 内置函数__name__的作用
- 导入Excel表里的数据时产生【定义了过多字段】,但有时又是成功的
- Kubernetes pod滚动升级rolling update的一些例子,截图和命令
- 罐中研讨会:设置JBoss BRMS全日研讨会
- eclipse中java.lang.OutOfMemoryError: Java heap space错误
- vbs当计算机重启,用vbs实现重新启动 Internet Explorer
- Composer fails to download http json files on update, not a network issue, https fine
- python在生活中有哪些用处-Python语言有哪些用途
- ArcGIS水文分析实战教程(12)河网分级流程
- 工资太低怎么办?这几个副业每天赚300+
- 2T以上的盘怎么分区, 利用parted创建 linuxTB硬盘GPT分区
- HUSTOJ随笔3-配置文件
- 时间序列相似性度量-DTW
- 计算机设备管理cmd命令,打开设备管理器的命令,教你一分钟学会最简单
- mysql中解决“SELECT command denied to user ‘nature‘@‘192.168.1.49‘ for table ‘user_variables_by_thread‘“
- 重装Windows10后调节亮度无效,一直是最亮
- Chrome浏览器手动调节模拟网速
- python的scapy_python scapy网络嗅探
热门文章
- LongAdder解析
- centos7 firewalld日常使用
- Spark集群搭建【Spark+Hadoop+Scala+Zookeeper】
- 在JAVA EE中配置hibernate以及hibernate hello world
- 借助阿里云数加,小小的美甲行业被美甲帮玩出了天价。
- Lua截取utf-8编码的中英文混合字符串
- Apache Spark源码走读之8 -- Spark on Yarn
- Windows SQL Server 2008 群集(摘自网络)
- 一、cocos2dx之如何优化内存使用(高级篇)
- linux定时任务Crond基础概念原理介绍01