NumPy 1.16.4 发行说明#

NumPy 1.16.4 版本修复了针对 1.16.3 版本报告的错误,并且还向后移植了 master 的多项增强功能,这些增强功能似乎适合最后一个支持 Python 2.7 的版本系列。 PyPI 上的轮子与 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 创建期间设置的标志。强制标志可写是危险的。将来将无法将可写标志True 从 python 切换为可写标志。此弃用不应影响许多用户,因为以这种方式创建的数组在实践中非常罕见,并且只能通过 NumPy C-API 获得。

兼容性说明#

随机流的潜在变化#

由于对随机浮点数应用日志时存在错误,当从np.random.betanp.random.binomialnp.random.laplace、进行采样时np.random.logisticnp.random.logseries或者 np.random.multinomial如果在底层 MT19937 随机流中生成 0,则流可能会发生变化。有一个1在\(10^{53}\)发生这种情况的可能性,因此任何给定种子的流发生变化的概率非常小。如果在底层生成器中遇到 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 人为本次发布做出了贡献。名字带有“+”的人首次贡献了补丁。

  • 查尔斯·哈里斯

  • 埃里克·维塞尔

  • 丹尼斯·佐洛 +

  • 猎人达姆龙 +

  • 李静北 +

  • 凯文·谢泼德

  • 马蒂·皮库斯

  • 尼古拉·索兰佐 +

  • 塞巴斯蒂安·伯格

  • 泰勒·雷迪

合并拉取请求#

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

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

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

  • #13396:BUG:修复单字段类型上的结构化到非结构化(向后移植)

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

  • #13552 : TST: 在 conftest.py 中注册标记。

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

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

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

  • #13562:BUG:保护发电机免受日志(0.0)的影响

  • #13563:BUG:当......时总是从结构化到非结构化返回视图

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

  • #13565:BUG:longdouble(int)不起作用

  • #13587 : BUG: distutils/system_info.py 修复丢失的子进程导入 (#13523)

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

  • #13641:维护:为 1.16.4 版本做好准备。

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