NumPy 1.16.1 发布说明#
NumPy 1.16.1 版本修复了 1.16.0 版本中报告的错误,并从 master 分支移植了若干增强功能,这些功能似乎适合作为最后一个支持 Python 2.7 的发布系列。PyPI 上的 wheels 与 OpenBLAS v0.3.4+ 链接,这应该能解决先前 OpenBLAS 版本中发现的已知线程问题。
下游开发者在构建此版本时应使用 Cython >= 0.29.2,如果使用 OpenBLAS,则应使用 OpenBLAS > v0.3.4。
如果您使用 pip 进行安装,可能会遇到旧版已安装的 NumPy 版本未被 pip 删除而与当前版本混淆的问题,从而导致 ImportError。这个问题在 Debian 派生发行版上尤其常见,因为 pip 的修改。解决方法是确保已删除所有之前由 pip 安装的 NumPy 版本。有关此问题的讨论,请参阅 #12736。请注意,之前这个问题会导致 AttributeError。
贡献者#
总共有 16 人为此次发布做出了贡献。名字旁有“+”号的人是首次贡献补丁。
Antoine Pitrou
Arcesio Castaneda Medina +
Charles Harris
Chris Markiewicz +
Christoph Gohlke
Christopher J. Markiewicz +
Daniel Hrisca +
EelcoPeacs +
Eric Wieser
Kevin Sheppard
Matti Picus
OBATA Akio +
Ralf Gommers
Sebastian Berg
Stephan Hoyer
Tyler Reddy
增强功能#
兼容性说明#
数组比较测试函数发出的更改后的错误消息可能会影响 doctests。详情请参见下文。
已修正从双精度和单精度非规格化数到 float16 的转换。在某些罕见情况下,这可能会导致结果向上舍入而非向下舍入,从而改变结果的最后一位(ULP)。
新功能#
现在支持两个 timedelta64 操作数进行 divmod 操作#
divmod 运算符现在可以处理两个 np.timedelta64 操作数,其类型签名是 mm->qm。
改进#
进一步改进 np.ctypeslib 中的 ctypes 支持#
添加了一个新的 numpy.ctypeslib.as_ctypes_type 函数,该函数可用于将一个 dtype 转换为最佳匹配的 ctypes 类型。得益于这个新函数,numpy.ctypeslib.as_ctypes 现在支持更广泛的数组类型,包括结构体、布尔值和非原生字节序的整数。
数组比较断言包含最大差异#
诸如 np.testing.assert_allclose 等数组比较测试的错误消息现在包含“最大绝对差”和“最大相对差”,以及之前的“不匹配”百分比。这些信息使得更新绝对和相对误差容差更加容易。
更改#
将 timedelta64 % 0 的行为调整为返回 NaT#
两个 np.timedelta64 操作数的模运算在除数为零的情况下现在返回 NaT,而不是返回零。