没有合适的资源?快使用搜索试试~ 我知道了~
networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据结构,顶点表示数据,边是由两个顶点唯一确定的,表示两个顶点之间的关系。顶点和边也可以拥有更多的属性,以存储更多的信息。 对于networkx创建的无向图,允许一条边的两个顶点是相同的,即允许出现自循环,但是不允许两个顶点之间存在多条边,即出现平行边。边和顶点都可以有自定义的属性,属性称作边和顶点的数据,每一个属性都是一个Key:Value对。 一,创建图 在创建图之前,需要导入networkx模块,通常设置别名为nx;如果创建的图中,顶点之间的边没有方向,那么该图称作无向图
资源推荐
资源详情
资源评论
Python 学习教程之学习教程之networkx
networkx是Python的一个包,用于构建和操作复杂的图结构,提供分析图的算法。图是由顶点、边和可选的属性构成的数据
结构,顶点表示数据,边是由两个顶点唯一确定的,表示两个顶点之间的关系。顶点和边也可以拥有更多的属性,以存储更多
的信息。
对于networkx创建的无向图,允许一条边的两个顶点是相同的,即允许出现自循环,但是不允许两个顶点之间存在多条边,即
出现平行边。边和顶点都可以有自定义的属性,属性称作边和顶点的数据,每一个属性都是一个Key:Value对。
一,创建图一,创建图
在创建图之前,需要导入networkx模块,通常设置别名为nx;如果创建的图中,顶点之间的边没有方向,那么该图称作无向
图。在创建图时,可以通过help(g)来获得图的帮助文档。
import networkx as nx
g=nx.Graph()#创建空的无向图
g=nx.DiGraph()#创建空的有向图
二,图的顶点二,图的顶点
图中的每一个顶点Node都有一个关键的ID属性,用于唯一标识一个节点,ID属性可以整数或字符类型;顶点除了ID属性之
外,还可以自定义其他的属性。
1,向图中增加顶点,向图中增加顶点
在向图中增加顶点时,可以一次增加一个顶点,也可以一次性增加多个顶点,顶点的ID属性是必需的。在添加顶点之后,可以
通过g.nodes()函数获得图的所有顶点的视图,返回的实际上NodeView对象;如果为g.nodes(data=True)的data参数设置为
true,那么返回的是NodeDataView对象,该对象不仅包含每个顶点的ID属性,还包括顶点的其他属性。
g.add_node(1)
g.add_nodes_from([2,3,4])
g.nodes()
#NodeView((1, 2,3,4))
在向图中添加顶点时,除ID属性之外,也可以向顶点中增加自定义的属性,例如,名称属性,权重属性:
>>> g.add_node(1,name='n1',weight=1)
>>> g.add_node(2,name='n2',weight=1.2)
2,查看顶点的属性,查看顶点的属性
通过属性_node获得图的所有顶点和属性的信息,_node属性返回的是一个字典结构,字典的Key属性是顶点的ID属性,Value
属性是顶点的其他属性构成的一个字典。
>>> g._node
{1: {'name': 'n1', 'weight': 1}, 2: {'name': 'n2', 'weight': 1.2}, 3: {}, 4: {}}
>>>g.nodes(data=True)
可以通过顶点的ID属性来查看顶点的其他属性:
>>> g.node[1] {'name': 'n1', 'weight': 1}
>>> g.node[1]['name'] 'n1 new'
通过g.nodes(),按照特定的条件来查看顶点:
>>> list(g.nodes(data=True))
[(1, {'time': '5pm'}), (3, {'time': '2pm'})]
3,删除顶点,删除顶点
通过remove函数删除图的顶点,由于顶点的ID属性能够唯一标识一个顶点,通常删除顶点都需要通过传递ID属性作为参数。
g.remove_node(node_ID)
g.remove_nodes_from(nodes_list)
4,更新顶点,更新顶点
更新图的顶点,有两种方式,第一种方式使用字典结构的_update函数,第二种方式是通过索引来设置新值:
资源评论
weixin_38722317
- 粉丝: 9
- 资源: 912
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功