NetworkX 2.2#
发布日期:2018年9月19日
支持Python 2.7、3.5、3.6和3.7。 这是最后一个支持Python 2的版本。
NetworkX是一个用于创建、操作和研究复杂网络结构、动态和功能的Python包。
更多信息,请访问我们的 网站 和我们的 示例画廊 。 请将评论和问题发送至 networkx-discuss 邮件列表 。
亮点#
此版本经过8个月的工作,由58位贡献者进行了149次提交。亮点包括:
增加对Python 3.7的支持。这是最后一个支持Python 2的版本。
统一的随机数生成器(RNG)处理,默认为全局RNG,但允许指定单个RNG用于NX中的所有随机数。
改进的GraphViews,以便更容易进行子类化,并消除引起深拷贝和pickle问题的循环引用。
新的Graph方法
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_graph,已删除图与自身之间的循环引用。事实证明,这是一个可以避免的构造。
GraphViews已重新制定为函数,消除了与copy/to_directed/subgraph方法相关的大部分子类问题。这也简化了图视图的代码库和API。现在有三个函数用于创建图视图:generic_graph_view(graph, create_using)、reverse_view(digraph)和subgraph_view(graph, node_filter, edge_filter)。
现在可以使用numpy数值类型写入带有属性的GraphML。特别是,np.float64和np.int64不再需要转换为Python float和int进行写入。它们仍然被写入为通用浮点数,因此读取它们时不会使numpy值失效。
现在提供了遵循Stochastic Block Model的生成器。
新函数 all_topological_sort 用于生成所有可能的拓扑排序。
用于树宽度和树分解的新函数。
用于Clauset-Newman-Moore模块度最大化社区检测的函数。 小世界分析、有向聚类和完美匹配、图的欧拉化、深度限制的BFS、渗透中心性、平面性检查的函数。
最短路径的通用和便利函数现在有一个 method 参数,用于在加权情况下选择迪杰斯特拉和贝尔曼-福特之间。默认是迪杰斯特拉(之前是唯一的选项)。
API更改#
empty_graph现在接管了从nx.convert._prep_create_using中删除的功能。
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)。
如果第一个参数是一个具有 edges 和 nodes 属性的图,则第一个参数将被视为边的列表。
贝尔曼-福特的前任字典对于源节点有一个标记值 [None] 。这已经更改,因此源节点的前任值为’[]’。
弃用#
图类方法 fresh_copy - 简单使用 __class__ 。
GraphView类已被弃用,优先使用函数接口。具体来说, ReverseView 和 ReverseMultiView 被替换为 reverse_view 。 SubGraph 、 SubDiGraph 、 SubMultiGraph 和 SubMultiDiGraph 被替换为 subgraph_view 。 GraphView 、 DiGraphView 、 MultiGraphView 、 MultiDiGraphView 被弃用,推荐使用 generic_graph_view(graph, create_using) 。
贡献者#
Luca Baldesi
William Bernoudy
Alexander Condello
Saurav Das
Dormir30
Graham Fetterman
Robert Gmyr
Thomas Grainger
Benjamin M. Gyori
Ramiro Gómez
Darío Hereñú
Mads Jensen
Michael Johnson
Pranay Kanwar
Aabir Abubaker Kar
Jacek Karwowski
Mohammed Kashif
David Kraeutmann
Winni Kretzschmar
Ivan Laković
Daniel Leicht
Katrin Leinweber
Alexander Lenail
Lonnen
Ji Ma
Erwan Le Merrer
Jarrod Millman
Baurzhan Muftakhidinov
Neil
Jens P
Edward L Platt
Guillaume Plique
Miguel Sozinho Ramalho
Lewis Robbins
Romain
Federico Rosato
Tom Russell
Dan Schult
Gabe Schwartz
Aaron Smith
Leo Torres
Martin Váňa
Ruaridh Williamson
Huon Wilson
Haochen Wu
Yuto Yamaguchi
Felix Yan
Jean-Gabriel Young
aparamon
armando1793
aweltsch
chebee7i
hongshaoyang
komo-fr
leamingrad
luzpaz
mtrenfield
regstrtn