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 中,该类型的行为类似于
float或double,并且 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_type
和numpy.min_scalar_type
:这些函数公开 ufunc 和其他操作使用的基础类型提升以确定输出类型。这些改进了 和numpy.common_type
,numpy.mintypecode
提供了类似的功能,但与 ufunc 实现不匹配。
变化#
default error handling
#
除 之外的所有错误处理的默认错误处理已从 更改为print
,但仍保留为。warn
underflow
ignore
numpy.distutils
#
支持多种新编译器用于构建 Numpy:OS X 上的 Portland Group Fortran 编译器、PathScale 编译器套件和 Linux 上的 64 位 Intel C 编译器。
numpy.testing
#
获得的测试框架提供了比assert_almost_equal、assert_approx_equal和assert_array_almost_equalnumpy.testing.assert_allclose
更方便的比较浮点数组的方法
。
C API
#
除了新迭代器和半数据类型的 API 之外,C API 还添加了许多其他内容。 ufuncs 使用的类型提升机制通过PyArray_PromoteTypes
、
PyArray_ResultType
和公开PyArray_MinScalarType
。添加了一个新的枚举
NPY_CASTING
来控制允许的强制转换类型。这是由新函数PyArray_CanCastArrayTo
和使用的PyArray_CanCastTypeTo
。提供了一种更灵活的方法来处理任意 python 对象到数组的转换
PyArray_GetArrayParamsFromObject
。
已弃用的功能#
中的“normed”关键字numpy.histogram
已被弃用。其功能将被新的“密度”关键字取代。
删除的功能#
numpy.fft
#
函数refft、refft2、refftn、irefft、irefft2、irefftn是名称中没有“e”的相同函数的别名,已被删除。
numpy.memmap
#
memmap 的sync ()和close()方法被删除。使用flush()和“del memmap”代替。
numpy.lib
#
已弃用的函数numpy.unique1d
、numpy.setmember1d
和
numpy.intersect1d_nu
已numpy.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
。