NumPy 1.16.1 发行说明#

NumPy 1.16.1 版本修复了针对 1.16.0 版本报告的错误,并且从主版本中向后移植了一些增强功能,这些增强功能似乎适用于作为最后一个支持 Python 2.7 的版本系列.PyPI 上的 wheels 使用 OpenBLAS v0.3.4+ 链接,这应该可以解决先前 OpenBLAS 版本中发现的已知线程问题.

构建此版本的下游开发人员应使用 Cython >= 0.29.2,如果使用 OpenBLAS,则使用 OpenBLAS > v0.3.4.

如果您使用 pip 安装,您可能会遇到一个问题,即 pip 未删除的旧版本 NumPy 与当前版本混合在一起,从而导致 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

增强功能#

  • #12767 : ENH:添加 mm->q floordiv

  • #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. 详情请参见下文.

  • 从 double 和 single denormals 转换为 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 ,而不是返回零.