NumPy 1.16.1 版本说明#

NumPy 1.16.1 版本修复了 1.16.0 版本中报告的 bug,并且回退了主分支中一些适合于支持 Python 2.7 的最后一个系列版本的增强功能。PyPI 上的轮子与 OpenBLAS v0.3.4+ 链接,这应该可以修复先前 OpenBLAS 版本中已知的线程问题。

构建此版本的后续开发者应使用 Cython >= 0.29.2,如果使用 OpenBLAS,则应使用 OpenBLAS > v0.3.4。

如果您使用 pip 安装,可能会遇到一个问题:pip 未删除的旧版 NumPy 版本与当前版本混合,导致出现 ImportError。由于 pip 被修改,这个问题在基于 Debian 的发行版上尤其常见。解决方法是确保删除 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

增强功能#

  • #12767:ENH:添加 mm->q 地板除法

  • #12768:ENH:为了速度,将 np.core.overrides 移植到 C

  • #12769:ENH:添加 np.ctypeslib.as_ctypes_type(dtype),改进 np.ctypeslib.as_ctypes

  • #12773:ENH:向 np.testing.assert_array_equal… 添加“最大差异”消息

  • #12820:ENH:添加 mm->qm divmod

  • #12890:ENH:为冻结分析添加 _dtype_ctype 到命名空间

兼容性说明#

  • 数组比较测试函数发出的错误消息已更改,可能会影响 doctest。详情见下文。

  • 已更正从双精度和单精度次正规数到 float16 的转换。在某些罕见情况下,这可能会导致结果向上舍入而不是向下舍入,从而更改结果的最后一位 (ULP)。

新功能#

divmod 运算现在支持两个 timedelta64 操作数#

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,而不是返回零。