NumPy 1.16.1 发布说明#

NumPy 1.16.1 版本修复了针对 1.16.0 版本报告的错误,并且还从主分支回移了几个增强功能,这些增强功能似乎适合作为最后一个支持 Python 2.7 的发布系列.PyPI 上的轮子与 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人为此版本做出了贡献.名字后面带有”+”的人首次贡献了一个补丁.

  • 安托万·皮特鲁

  • 阿塞西奥·卡斯蒂亚·梅迪纳 +

  • 查尔斯·哈里斯

  • 克里斯·马基维茨 +

  • 克里斯托夫·戈克

  • 克里斯托弗·J·马基维奇 +

  • 丹尼尔·赫里斯卡 +

  • EelcoPeacs +

  • 埃里克·维泽

  • Kevin Sheppard

  • Matti Picus

  • OBATA Akio +

  • Ralf Gommers

  • 塞巴斯蒂安·伯格

  • Stephan Hoyer

  • 泰勒·雷迪

增强功能#

  • #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 到命名空间

兼容性说明#

  • 数组比较测试函数发出的错误消息更改可能会影响doctests.详见下文.

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

新功能#

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

divmod 运算符现在可以处理两个 np.timedelta64 操作数,具有类型签名 mm->qm.

改进#

np.ctypeslibctypes 支持的进一步改进#

新增了一个 numpy.ctypeslib.as_ctypes_type 函数,该函数可以用于将 dtype 转换为最佳猜测的 ctypes 类型.得益于这个新函数,`numpy.ctypeslib.as_ctypes` 现在支持更广泛的数组类型,包括结构体、布尔值和非本地字节序的整数.

数组比较断言包括最大差异#

数组比较测试(如 np.testing.assert_allclose)的错误信息现在除了之前的”不匹配”百分比外,还包括”最大绝对差异”和”最大相对差异”.这些信息使得更新绝对和相对误差容限变得更加容易.

变化#

timedelta64 % 0 行为调整为返回 NaT#

两个 np.timedelta64 操作数的模运算在除以零的情况下现在返回 NaT,而不是返回零