网络X 2.2#

上映日期:2018年9月19日

支持Python2.7、3.5、3.6和3.7。这是支持Python2的最后一个版本。

NetworkX是一个用于创建、操作和研究复杂网络的结构、动力学和功能的Python包。

欲了解更多信息,请访问我们的 website 还有我们的 gallery of examples 。请将意见和问题发送到 networkx-discuss mailing list

集锦#

此版本是58个贡献者8个月工作、超过149个承诺的结果。亮点包括:

  • 添加对python 3.7的支持。这是最后一个支持python 2的版本。

  • 统一随机数生成器(RNG)处理,默认为全局RNG,但允许为NX中的所有随机数指定单个RNG。

  • 改进了graphview以简化子类化和删除循环引用,这导致了deepcopy和pickle的问题。

  • 新的图形方法 G.update(H)

改进#

使用随机数的每个函数现在都使用 seed 用于控制随机数生成(RNG)的参数。默认情况下,使用全局默认RNG。更准确地说, random 包的默认RNG或numpy.random默认RNG。您也可以创建自己的RNG并将其传递到 seed 参数。最后,您可以使用一个整数来指示要为RNG设置的状态。在这种情况下,会创建一个本地RNG,使全局RNG保持不变。一些函数使用 random 还有一些用途 numpy.random ,但是我们编写了一个翻译器,以便所有函数 numpy.random.RandomState 对象。所以一个RNG可以用于整个包。

图类和视图之间的循环引用已被删除,以方便子类化,而不会出现内存泄漏。图形不再保存对视图的引用。

图和图本身之间的循环引用已通过消除g.root_图而被删除。事实证明这是一个可以避免的结构。

graphview已经被重新设计为函数,通过copy/to-u-directed/subgraph方法消除了许多子类问题。它还简化了图形视图代码库和API。现在有三个函数可以创建图形视图:通用图形视图(graph,create_using)、反转视图(digraph)和子图形视图(graph,node_filter,edge_filter)。

现在可以使用numpy数字类型的属性编写图形。特别是,np.float64和np.int64不再需要转换为python float和要写入的int。它们仍然被编写为通用的浮点,因此重新读取它们不会使数值变得麻木。

现在可以使用随机块模型的生成器。

新功能 all_topolgical_sort 生成所有可能的顶级排序。

用于树宽度和树分解的新函数。

用于Clauset Newman-Moore模块化最大社区检测的函数。

用于小世界分析、定向聚类和完美匹配、图形欧拉、深度限制BFS、渗透中心性、平面性检查等功能。

最短路径通用和方便函数现在有一个 method 用于在加权情况下在Dijkstra和Bellmon Ford之间选择的参数。默认值是dijkstra(这是以前唯一的选项)。

API更改#

空的_-graph已经接管了nx.convert的功能。_-prep_-create_使用它被删除。

这个 create_using 参数(在许多函数中使用)现在应该是像nx.graph或nx.digraph这样的图形构造函数。它仍然可以是一个将在使用前清除的图形实例,但首选的用法是构造函数。

新的基类方法:update h.update(g)将g的节点、边和图形属性添加到h.h.update(edges=e,nodes=n)添加容器e和n.h.update(e)中的边和节点,还允许h.update(nodes=n)。第一个参数是一个图,如果它有 edgesnodes 属性。否则,第一个参数将被视为边列表。

贝尔曼·福特的前任名言具有判断力 [None] 对于源节点。已更改,因此源节点具有pred值“[]”

贬抑#

图类方法 fresh_copy - simply use _ “类”。不推荐使用graphview类,而应优先使用函数接口。明确地, `ReverseViewReverseMultiView 被替换 reverse_view . SubGraphSubDiGraphSubMultiGraphSubMultiDiGraph 被替换 subgraph_view . 和 GraphViewDiGraphViewMultiGraphViewMultiDiGraphView 是为了支持 generic_graph_view(graph, create_using) .

贡献者#

  • 卢卡巴尔德斯

  • 威廉·伯努迪

  • 亚历山大·康迪洛

  • 索拉夫达斯

  • 多米尔30

  • 格雷厄姆·费特曼

  • 罗伯特GMYR

  • 托马斯格兰杰

  • 本杰明·M·吉奥里

  • 拉米罗·G·梅兹

  • 达里奥在这里

  • 马德斯延森

  • 约翰逊

  • 普拉内卡尼尔

  • 阿布贝克卡尔

  • 杰西克卡沃夫斯基

  • 穆罕默德卡希夫

  • 大卫·克劳特曼

  • 温妮·克雷茨施马

  • 伊凡·拉科维奇

  • 丹尼尔莱歇

  • 凯特琳·莱恩韦伯

  • 亚历山大勒内尔

  • 洛宁

  • 吉马

  • 埃尔万勒梅勒

  • 贾罗尔米尔曼

  • 博茨汗·穆夫塔赫迪诺夫

  • 尼尔

  • 詹斯P

  • 爱德华·L·普拉特

  • 桂洛姆plique

  • 米盖尔·索齐尼奥·拉马尔霍

  • 刘易斯罗宾斯

  • 罗曼

  • 费德里克罗萨托

  • 汤姆罗素

  • 丹舒尔特

  • 盖布施瓦兹

  • 亚伦·史密斯

  • 利奥托雷斯

  • 马丁瓦扎阿

  • 鲁阿利德·威廉姆森

  • 胡恩威尔逊

  • 吴浩辰

  • 山口裕

  • 颜菲利克斯

  • 让·加布里埃尔·杨

  • 帕拉蒙

  • 阿曼1791

  • 阿韦尔茨

  • 切贝7i

  • 洪少阳

  • 科摩罗

  • 莱明格勒

  • 卢兹帕兹

  • 麦特菲尔德

  • 雷格斯顿