Numpy 1.6.0发行说明

这个版本包括几个新特性,以及许多错误修复和改进的文档。它与1.5.0版本向后兼容,支持python 2.4-2.7和3.1-3.2。

集锦

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

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

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

新特点

新的16位浮点类型

此版本增加了对IEEE754-2008二进制16格式的支持,作为数据类型提供 numpy.half . 在python中,类型的行为类似于 floatdouble 和C扩展可以使用公开的半浮式API添加对它的支持。

新迭代器

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

勒让德、拉盖尔、赫米特、赫米特多项式 numpy.polynomial

扩展多项式包中可用的多项式数。另外,一个新的 window 属性已添加到类中,以便指定 domain 地图到。这对于自然域无穷大的拉盖尔、赫米特和赫米特多项式最为有用,并提供了一种更直观的方法来获得正确的值映射,而不必在域中玩非自然的把戏。

FORTRAN假定的形状数组和大小函数支持 numpy.f2py

现在,f2py支持包装使用假定形状数组的Fortran 90例程。在这些例程可以从python调用之前,但是相应的fortran例程接收到假定的形状数组作为零长度数组,从而导致无法预测的结果。感谢Lorenz H_depohl指出了将例程与假定的形状数组进行接口的正确方法。

此外,f2py现在支持自动包装使用两个参数的Fortran例程。 size 尺寸规格中的功能。

其他新功能

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

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

numpy.count_nonzero :统计数组中非零元素的数目。

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

变化

default error handling

默认错误处理已从更改为 printwarn 所有人,除了 underflow ,仍然是 ignore .

numpy.distutils

几个新的编译器支持构建numpy:波特兰组Fortran编译器在OS X上,pathscale编译器套件和64位英特尔C编译器在Linux上。

numpy.testing

测试框架获得 numpy.testing.assert_allclose 这提供了一种比较浮点数组比 assert_almost_equalassert_approx_equalassert_array_almost_equal .

C API

除了新迭代器和半数据类型的API之外,还对C API进行了许多其他添加。UFUNCS使用的类型提升机制通过 PyArray_PromoteTypesPyArray_ResultTypePyArray_MinScalarType . 新的枚举 NPY_CASTING 已添加,用于控制允许的类型转换。这是新函数使用的 PyArray_CanCastArrayToPyArray_CanCastTypeTo . 一种更灵活的方法来处理任意Python对象到数组的转换 PyArray_GetArrayParamsFromObject .

不推荐使用的功能

中的“normed”关键字 numpy.histogram 被贬低。它的功能将被新的“密度”关键字取代。

删除的功能

numpy.fft

功能 refftrefft2refftnirefftirefft2irefftn 删除了名称中没有“e”的相同函数的别名。

numpy.memmap

这个 sync()close() 移除了memmap方法。使用 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 相反。