[Python] networkx入门 转
1.安装
setuptools
``` python XX install ```
easy_install
``` easy_install SQLObject ```
pip
```
pip install simplejson --安装包
pip install --upgrade simplejson --升级包
pip uninstall simplejson --卸载包
```
安装networkx
pip install numpy
pip install matplotlib
pip install networkx
2.使用
**建图 **
import networkx as nx
G=nx.Graph()
D=nx.DiGraph()
M=nx.MultiGraph()
点
G.add_node(1)
G.add_node('first_node')
#这里用一个对象多为key来唯一区别一个点
#我们还能够用一个列表来批量加入点
G.add_nodes_from([1,2,3])
#还可以用一个图对象作为点,嵌入到其他图中
G.add_node(D) #这里D作为一个点的key
#或者把一个图的所有点赋予另一个图
G.add_nodes_from(D) #这里返回D的所有点,赋予G
#与加入相同的传递方法,我们也可以删除点
G.remove_node(1)
G.remove_nodes_from([1,2,3])
边
G.add_edge(1,2) #表示1,2之间有一条边。
#如果不存在点1,2,则会自动加入点集合。
#或者以元组的形式作为输入
e=(1,2)
G.add_edge(*e)
#这里的*代表吧元组解包(unpack),当作一个个的值扔到函数中去。
#如果不解包,等价于
#G.add_edge(e)=G.add_edge((1,2))与参数传递的方式不符。
#类似的,我们还可以使用包含元组的列表来传递参数
G.add_edges_from([(1,2),(2,3)])
#我们还可以报一个图的边赋予另一个图
G.add_edges_from(H)
#删除
G.remove_edge(1,2)
G.remove_edges_from([(1,2),(2,3)])</pre></div>
访问
node_list = G.nodes()
edge_list = G.edges()
#可以返回包含点与边的列表
node = G.node[‘first_node’]
#如上根据key返回点
edge = G.edge['first_node']['second_node']
#同样的方法,返回两个key之间的边</pre></div>
属性
G.add_node(1,time='5pm')
#在添加时跟上属性
G.add_nodes_from([1,2,3],time='5pm')
#批量添加点是,跟上统一的属性
G.add_nodes_from([(3,{'time':'5pm'}), (4,{'time':'4pm'})])
#或者写成元组列表[(key,dict),(key,dict)]的形式
G.node[1]['time']
#根据字典key访问属性值。
#给边添加属性也类似
G.add_edge(1,2,time='3am')
G.add_edges_from([(1,2,{'time'='5pm'}),(2,3,{'time'=3am})])
#批量赋予属性
G.edge[1][2][‘time’]
#访问
#我们还可以使用特定的函数批量返回属性,如
time = nx.get_edge_attributes(G,'time')
#返回得到以元组为key,time属性为值得一个字典
time[(1,2)]</pre></div>
图算法
nx.connected_components(G)
#返回列表形式的G的全连通分量,每个分量一个子列表
画图
nx.draw(G) #画出图G
matplotlib.show() #显示出来
[Python] networkx入门 转的更多相关文章
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- Python爬虫入门一之综述
大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验. Pyth ...
- 【python】入门学习(十)
#入门学习系列的内容均是在学习<Python编程入门(第3版)>时的学习笔记 统计一个文本文档的信息,并输出出现频率最高的10个单词 #text.py #保留的字符 keep = {'a' ...
- Python开发入门与实战1-开发环境
1.搭建Python Django开发环境 1.1.Python运行环境安装 Python官网:http://www.python.org/ Python最新源码,二进制文档,新闻资讯等可以在Pyth ...
- Python基础入门教程
Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- python爬虫入门-开发环境与小例子
python爬虫入门 开发环境 ubuntu 16.04 sublime pycharm requests库 requests库安装: sudo pip install requests 第一个例子 ...
- Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分
1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...
随机推荐
- springboot发送邮件
1.在发送端邮箱平台开通SMTP服务 1)以163邮箱为例: step 1: step 2: 2.编写代码: 1)添加发送邮箱maven依赖 <dependency> <groupI ...
- C#设计模式(4)——抽象工厂模式(Abstract Factory)
简单工厂模式: 简单工厂模式的工厂类随着产品类的增加需要增加额外的代码 工厂方法模式: 工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性 但是在实际应用中,一个工厂不止会创建单 ...
- PHP生成HTML静态页面。
function Generate(){ $html = '<!DOCTYPE html><html lang="en"><head> < ...
- c# post 接收传来的文件
private void UploadFile() { // //......其他代码 // HttpFileCollection files = HttpContext.Current.Reques ...
- python_06 函数、全局变量与局部变量、函数递归
函数 1.函数的定义: def 函数名(参数): #解释函数的功能 代码块 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行 ...
- MySQL的show profile(已过时)简介以及该功能在MySQL 5.7中performance_schema中的替代
本文出处:http://www.cnblogs.com/wy123/p/6979499.html show profile 命令用于跟踪执行过的sql语句的资源消耗信息,可以帮助查看sql语句的执行情 ...
- unity编程心得
1. 不要通过public变量 从工程面板 直接 拖 GameObjct 的引用, 当这样的public变量很多 ,子物体很多,又没有做成预制体,,别人重新移植这段功能会很麻烦,,应该用GameOb ...
- 十九、State 状态模式
原理: 代码清单: Context public interface Context { void setClock(int hour); void changeState(State state); ...
- JVM参数类型
java -version看版本号(混合模式) java -Xint -version 解释执行 java -Xcomp -version 编译执行 XX参数是不稳定的用来JVM调优和DeBug B ...
- fabric 持久化
每个容器都有目录需要映射出来.在volume中添加如下映射即可: peer是: /var/hyperledger/peer{number}/org{number}:/var/hyperledger/p ...