NetworkX 2.8#

发布日期:2022年4月9日

支持 Python 3.8、3.9 和 3.10

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

欲了解更多信息,请访问我们的网站和我们的示例集。请将意见和问题发送至 networkx-discuss 邮件列表

亮点#

此版本是超过五周工作的结果,包含 18 位贡献者的 48 个拉取请求。这是 NetworkX 3.0 之前的最后一个版本。有关即将发布的 3.0 版本的预览,请参阅我们针对从 2.X 迁移到 3.0 的用户的迁移指南草案。

改进#

  • 修正了对有向图处理 average_neighbor_degree 的方式,之前它仅对出邻居的度数求和,然后除以“入”或“出”或“入+出”邻居的数量。因此,它甚至不是一个平均值。修正后,它成为由 source = “in” 或 “out” 或 “in+out” 指定的任何邻居群体的平均度数。例如

    >>> G = nx.path_graph(3, create_using=nx.DiGraph)
    >>> print(nx.average_neighbor_degree(G, source="in", target="in"))
    {0: 0.0, 1: 1.0, 2: 1.0}
    

    这以前会产生 {0: 0.0, 1: 1.0, 2: 0.0} 注意:节点 0 和 2 的处理是不合理的。节点 0 的计算值为 1/0,被转换为 0。(分子考虑后继,分母计算前驱)节点 2 的计算值为 0/1 = 0.0(同样是分子后继,分母前驱)

    现在节点 0 的计算值为 0.0/0,我们将其视为 0.0。节点 2 的计算值为 1/1 = 1.0。两者都在分子和分母中处理相同的邻域。

API 变更#

  • [#5394] 函数 min_weight_matching 不再使用参数 maxcardinality,因为将其设置为 False 将导致 min_weight_matching 不包含任何边。唯一合理的选项是 True。此参数将在 v3.0 中完全移除。

弃用#

  • [#5227] 弃用 greedy_modularity_communities 中的参数名 n_communities,推荐使用 cutoff

  • [#5422] 弃用 extrema_bounding。请改为使用相关的距离度量并设置 usebounds=True

  • [#5427] 弃用 dict_to_numpy_array1dict_to_numpy_array2,推荐使用 dict_to_numpy_array,它可以处理这两种情况。

  • [#5428] 弃用 utils.misc.to_tuple

合并的 PR#

  • 修复文档

  • 修复发布说明

  • 提升版本号

  • 修复缺失的反引号 (#5381)

  • 为 create_py_random_state 添加 Generator 支持 (#5380)

  • modularity_max: 引入 enforce_n_communities 参数 (#5227)

  • 初稿 (#5359)

  • 更新 MultiDiGraph 文档,包含更多实际使用示例 (#5387)

  • 更新多重图文档 (#5389)

  • 更新 greedy_modularity_communities 文档 (#5390)

  • 完成 NXEP 4 初稿 (#5391)

  • 修正 docstring 中的拼写错误 (int -> float) (#5398)

  • DOC: 示例代码块需要一个空行 (#5401)

  • 为 nx.bridges 添加对多重图的支持 (#5397)

  • 更新 compute=”eccentricities” 参数的 extrema bounding 方法 (#5409)

  • 添加 Tutte 多项式 (#5265)

  • 更新 sparse6 URL 为使用 https (#5424)

  • 弃用 extrema bounding (#5422)

  • 将 NXEP4 添加到开发者 toctree 并修复断开的链接 (#5420)

  • 移除 _inherit_doc - 这是 Python 3.5 的默认行为 (#5416)

  • 从通用代码阅读中获得的微小改进 (#5414)

  • 对于 git blame 忽略 black 和 pep8 造成的格式化更改 (#5405)

  • 弃用 dict to numpy 辅助函数 (#5427)

  • 弃用 to_tuple (#5430)

  • 修复有向图的 average_neighbor_degree 计算问题 (#5404)

  • 对 Tutte 多项式测试进行参数化 (#5431)

  • 更新 black (#5438)

  • 忽略 black 格式化 (#5440)

  • 更新 sphinx (#5439)

  • conference.scipy.org 使用 https 链接 (#5441)

  • 有向图不使用 graph6 (#5443) (#5444)

  • 修复 min_weight_matching 以转换没有倒数的边权重 (#5394)

  • 使 sympy 成为额外依赖 (#5454)

  • 优化 Prim 算法用于 MST (#5455)

  • 添加更多 to_numpy_array 方法的使用示例 (#5451)

  • MAINT: Prim MST 测试未将算法名称传递给所有单元测试 (#5457)

  • 修复 MultiDiGraph 上错误的 dict factory 使用 (#5456)

  • 为花式箭头颜色添加额外条件 (#5407)

  • 更新依赖项 (#5468)

  • 更新发布说明

  • 指定 2.8rc1 版本

  • 提升版本号

  • DOCS: 添加一些关于引用的指南 (#5476)

  • 修复问题 5212 (#5471)

  • shortest_path() 示例 (#5491)

  • 移除 spiral_layout docstring 中不正确的引用 (#5503)

  • 改进 bethe_hessian_matrix 的 docstring (#5458)

  • 在 NX 2->3 迁移指南中添加关于 NumPy/SciPy 集成的说明 (#5505)

  • 对文档运行 black (#5513)

贡献者#

  • Ross Barnowski

  • Riccardo Bucco

  • Matthias Bussonnier

  • FabianBall

  • Martha Frysztacki

  • Chris Keefe

  • Lukong123

  • Peter Mawhorter

  • Lucas H. McCabe

  • Jarrod Millman

  • Sultan Orazbayev

  • Dan Schult

  • Seon82

  • Mridul Seth

  • Nikita Sharma

  • Dilara Tekinoglu

  • blokhinnv

  • yusuf-csdev