NumPy 1.16.1 发行说明#

NumPy 1.16.1 版本修复了针对 1.16.0 版本报告的错误,并且还向后移植了 master 的多项增强功能,这些增强功能似乎适合最后支持 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 人为本次发布做出了贡献。名字带有“+”的人首次贡献了补丁。

  • 安托万·皮特鲁

  • 阿塞西奥·卡斯塔内达·梅迪纳 +

  • 查尔斯·哈里斯

  • 克里斯·马凯维奇 +

  • 克里斯托夫·戈尔克

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

  • 丹尼尔·赫里斯卡 +

  • 埃尔科皮克斯 +

  • 埃里克·维塞尔

  • 凯文·谢泼德

  • 马蒂·皮库斯

  • 小畑昭夫 +

  • 拉尔夫·戈默斯

  • 塞巴斯蒂安·伯格

  • 史蒂芬·霍耶

  • 泰勒·雷迪

增强功能#

  • #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 添加到命名空间以进行冻结分析

兼容性说明#

  • 数组比较测试函数发出的更改后的错误消息可能会影响文档测试。详细信息请参见下文。

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

新功能

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

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

改进#

对#ctypes中支持的进一步改进np.ctypeslib

添加了一个新numpy.ctypeslib.as_ctypes_type函数,可用于将数据类型转换为最佳猜测ctypes类型。由于这个新函数,numpy.ctypeslib.as_ctypes现在支持更广泛的数组类型,包括结构体、布尔值和非本机字节序的整数。

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

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

变化

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

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