NumPy 1.6.0 发行说明#

此版本包括多项新功能以及大量错误修复和改进的文档。它向后兼容 1.5.0 版本,并支持 Python 2.4 - 2.7 和 3.1 - 3.2。

强调

  • 重新引入日期时间数据类型支持来处理数组中的日期。

  • 一种新的 16 位浮点类型。

  • 一个新的迭代器,可以提高许多函数的性能。

新功能

新的 16 位浮点类型#

此版本增加了对 IEEE 754-2008 二进制 16 格式的支持,可用作数据类型numpy.half。在 Python 中,该类型的行为类似于 floatdouble,并且 C 扩展可以通过公开的 half-float API 添加对其的支持。

新迭代器#

添加了新的迭代器,用单个对象和 API 替换了现有迭代器和多迭代器的功能。该迭代器适用于不同于 C 或 Fortran 连续内存布局的一般内存布局,并且可以处理标准 NumPy 和自定义广播。由 ufunc 提供但难以在其他地方复制的缓冲、自动数据类型转换和可选输出参数现在由该迭代器公开。

Legendre、Laguerre、Hermite、HermiteE 多项式numpy.polynomial#

扩展多项式包中可用的多项式数量。此外,window类中添加了一个新属性,以指定domain映射到的范围。这对于自然域是无限的 Laguerre、Hermite 和 HermiteE 多项式非常有用,并且提供了一种更直观的方法来获得正确的值映射,而无需在域中使用不自然的技巧。

Fortran 假定形状数组和大小函数支持numpy.f2py#

F2py 现在支持包装使用假定形状数组的 Fortran 90 例程。在可以从 Python 调用此类例程之前,但相应的 Fortran 例程将假定的形状数组接收为零长度数组,这导致了不可预测的结果。感谢 Lorenz Hüdepohl 指出了将例程与假定形状数组连接的正确方法。

此外,f2py 现在支持size在维度规范中使用两个参数函数的 Fortran 例程的自动包装。

其他新功能#

numpy.ravel_multi_index:将多索引元组转换为平面索引数组,并对索引应用边界模式。

numpy.einsum:评估爱因斯坦求和约定。使用爱因斯坦求和约定,许多常见的多维数组运算可以用简单的方式表示。该函数提供了一种计算此类总和的方法。

numpy.count_nonzero:计算数组中非零元素的数量。

numpy.result_typenumpy.min_scalar_type:这些函数公开 ufunc 和其他操作使用的基础类型提升以确定输出类型。这些改进了 和numpy.common_typenumpy.mintypecode提供了类似的功能,但与 ufunc 实现不匹配。

变化

default error handling#

除 之外的所有错误处理的默认错误处理已从 更改为print,但仍保留为。warnunderflowignore

numpy.distutils#

支持多种新编译器用于构建 Numpy:OS X 上的 Portland Group Fortran 编译器、PathScale 编译器套件和 Linux 上的 64 位 Intel C 编译器。

numpy.testing#

获得的测试框架提供了比assert_almost_equalassert_approx_equalassert_array_almost_equalnumpy.testing.assert_allclose更方便的比较浮点数组的方法 。

C API#

除了新迭代器和半数据类型的 API 之外,C API 还添加了许多其他内容。 ufuncs 使用的类型提升机制通过PyArray_PromoteTypesPyArray_ResultType和公开PyArray_MinScalarType。添加了一个新的枚举 NPY_CASTING来控制允许的强制转换类型。这是由新函数PyArray_CanCastArrayTo 和使用的PyArray_CanCastTypeTo。提供了一种更灵活的方法来处理任意 python 对象到数组的转换 PyArray_GetArrayParamsFromObject

已弃用的功能#

中的“normed”关键字numpy.histogram已被弃用。其功能将被新的“密度”关键字取代。

删除的功能#

numpy.fft#

函数refftrefft2refftnirefftirefft2irefftn是名称中没有“e”的相同函数的别名,已被删除。

numpy.memmap#

memmap 的sync ()close()方法被删除。使用flush()和“del memmap”代替。

numpy.lib#

已弃用的函数numpy.unique1dnumpy.setmember1dnumpy.intersect1d_nunumpy.lib.ufunclike.log2被删除。

numpy.ma#

多个已弃用的项目已从模块中删除numpy.ma

* ``numpy.ma.MaskedArray`` "raw_data" method
* ``numpy.ma.MaskedArray`` constructor "flag" keyword
* ``numpy.ma.make_mask`` "flag" keyword
* ``numpy.ma.allclose`` "fill_value" keyword

numpy.distutils#

numpy.get_numpy_include功能已被删除,请使用numpy.get_include