NumPy 1.16.4 发行说明#

NumPy 1.16.4 版本修复了针对 1.16.3 版本报告的错误,并且从主版本中向后移植了一些增强功能,这些增强功能似乎适用于作为最后一个支持 Python 2.7 的发行系列.PyPI 上的 wheels 链接了 OpenBLAS v0.3.7-dev,这应该可以解决 Skylake 系列 cpu 上的问题.

构建此版本的下游开发人员应使用 Cython >= 0.29.2,如果使用 OpenBLAS,则使用 OpenBLAS > v0.3.7.支持的 Python 版本为 2.7 和 3.5-3.7.

新的弃用#

C-API 包装数组的可写标志#

当从 C-API 创建一个数组来包装指向数据的指针时,我们拥有的关于数据读写性质的唯一指示是在创建期间设置的 writeable 标志.强制将标志设置为可写是危险的.将来,将无法从 python 将 writeable 标志切换为 True .此弃用不应影响许多用户,因为以这种方式创建的数组在实践中非常罕见,并且只能通过 NumPy C-API 获得.

兼容性说明#

随机流的潜在变化#

由于将 log 应用于随机浮点数的错误,当从 np.random.beta , np.random.binomial , np.random.laplace , np.random.logistic , np.random.logseriesnp.random.multinomial 采样时,如果底层 MT19937 随机流中生成了 0,则流可能会发生变化. 发生的概率为 \(10^{53}\) 分之 1,因此对于任何给定的种子,流发生变化的概率非常小. 如果在底层生成器中遇到 0,则现在将删除生成的不正确的值( np.infnp.nan ).

变更#

numpy.lib.recfunctions.structured_to_unstructured 不会挤压单字段视图#

以前, structured_to_unstructured(arr[['a']]) 会产生一个挤压的结果,这与 structured_to_unstructured(arr[['a', b']]) 不一致.这是偶然的.可以使用 structured_to_unstructured(arr[['a']]).squeeze(axis=-1) 更简单地说 arr['a'] 来保持旧的行为.

贡献者#

共有 10 人为本次发布做出了贡献.名字旁边带有“+”的人是第一次贡献补丁.

  • Charles Harris

  • Eric Wieser

  • Dennis Zollo +

  • Hunter Damron +

  • Jingbei Li +

  • Kevin Sheppard

  • Matti Picus

  • Nicola Soranzo +

  • Sebastian Berg

  • Tyler Reddy

合并的拉取请求#

此版本总共合并了 16 个拉取请求.

  • #13392 : BUG:某些 PyPy 版本缺少 PyStructSequence_InitType2.

  • #13394 : MAINT, DEP: 修复已弃用的 assertEquals()

  • #13396 : BUG:修复单字段类型的 structured_to_unstructured(向后移植)

  • #13549 : BLD:使 CI 再次通过 pytest 4.5

  • #13552 : TST:在 conftest.py 中注册 markers.

  • #13559 : BUG:删除 arraymultiter_new 中空 kwargs 的 ValueError

  • #13560 : BUG:将 TypeError 添加到 crackfortran 中接受的异常.

  • #13561 : BUG:处理 descr_to_dtype 中的子数组

  • #13562 : BUG:保护生成器免受 log(0.0) 的影响

  • #13563 : BUG:当…时,始终从 structured_to_unstructured 返回视图

  • #13564 : BUG:检查编译器版本时捕获 stderr

  • #13565 : BUG:longdouble(int) 无效

  • #13587 : BUG:修复 distutils/system_info.py 缺失的 subprocess 导入 (#13523)

  • #13620 : BUG,DEP:修复没有基本数组的可写标志设置

  • #13641 : MAINT:为 1.16.4 版本做准备.

  • #13644 : BUG:打印 rel-, abs-error 时特殊情况处理对象数组