[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请求和响应 ...
随机推荐
- python3 互译无线短信接口
#!/usr/local/bin/python#-*- coding:utf-8 -*-import http.clientimport urllibimport random host = &quo ...
- byobu 禁止窗口名称随目录变化
It looks like the config set-window-option -g automatic-rename off doesn't work. When I added the fo ...
- php 处理上百万条的数据库如何提高处理查询速度
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- autoperfixer 版本配置
{ "private": true, "dependencies": { "autoprefixer": "^9.3.1" ...
- mongodb安装及配置
下载安装篇 MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download-center#com ...
- 解决HighChart开发遇到的2个问题
需求很简单,显示一条24小时的变化曲线 写完代码效果是只有一条直线,连时间轴都没有 第1个错误 Highcharts error #12 当通过要绘制的点超过1000个时就会报这个错,我按分钟计算间 ...
- elk中es集群web管理工具cerebro
cerebo是kopf在es5上的替代者 安装es虽然不能再root下运行,但是cerebro 可以 run as root is ok wget https://github.com/lmeneze ...
- 100-days: fourteen
Title: Face mask craze(面膜热) creates Korean(韩国) (a) billionaire with Goldman(高盛集团) backing face mask ...
- PHP Laravel定时任务Schedule
前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(Mac也一样). 一.首先添加Crontab定时任务,这里只做简单介绍. 用命令crontab -e 添加如下内容 ...
- 【python深入】单例模式
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某 ...