Примечания к выпуску NumPy 1.6.0#
Этот выпуск включает несколько новых функций, а также многочисленные исправления ошибок и улучшенную документацию. Он обратно совместим с выпуском 1.5.0 и поддерживает Python 2.4 - 2.7 и 3.1 - 3.2.
Основные моменты#
Повторное введение поддержки типа данных datetime для работы с датами в массивах.
Новый 16-битный тип с плавающей запятой.
Новый итератор, который улучшает производительность многих функций.
Новые возможности#
Новый 16-битный тип с плавающей точкой#
Этот выпуск добавляет поддержку формата binary16 IEEE 754-2008, доступного как
тип данных numpy.half. Внутри Python тип ведет себя аналогично
float или double, и C-расширения могут добавить поддержку с помощью открытого
API для половинной точности.
Новый итератор#
Добавлен новый итератор, заменяющий функциональность существующего итератора и мульти-итератора единым объектом и API. Этот итератор хорошо работает с общими макетами памяти, отличными от C или Fortran смежных, и обрабатывает как стандартное NumPy, так и настраиваемое вещание. Буферизация, автоматическое преобразование типов данных и необязательные выходные параметры, предлагаемые ufuncs, но сложные для воспроизведения в других местах, теперь доступны через этот итератор.
Полиномы Лежандра, Лагерра, Эрмита, ЭрмитаE в numpy.polynomial#
Расширение количества полиномов, доступных в пакете полиномов. Кроме того, новый window атрибут был добавлен к классам
для указания диапазона, в котором domain отображается на. Это в основном полезно для полиномов Лагерра, Эрмита и Эрмита-E, чьи естественные области определения бесконечны, и предоставляет более интуитивный способ получения правильного отображения значений без неестественных манипуляций с областью определения.
Поддержка массивов Fortran с предполагаемой формой и функции size в numpy.f2py#
F2py теперь поддерживает обёртывание процедур Fortran 90, которые используют массивы предполагаемой формы. Раньше такие процедуры можно было вызывать из Python, но соответствующие процедуры Fortran получали массивы предполагаемой формы как массивы нулевой длины, что вызывало непредсказуемые результаты. Спасибо Лоренцу Хюдеполю за указание правильного способа интерфейса процедур с массивами предполагаемой формы.
Кроме того, f2py теперь поддерживает автоматическую обёртку подпрограмм Fortran, которые используют два аргумента size функция в спецификациях размерности.
Другие новые функции#
numpy.ravel_multi_index : Преобразует кортеж мультииндекса в массив плоских индексов, применяя граничные режимы к индексам.
numpy.einsum : Вычисление соглашения суммирования Эйнштейна. Используя соглашение суммирования Эйнштейна, многие распространённые операции с многомерными массивами могут быть представлены простым способом. Эта функция предоставляет способ вычисления таких сумм.
numpy.count_nonzero : Подсчитывает количество ненулевых элементов в массиве.
numpy.result_type и numpy.min_scalar_type : Эти функции раскрывают базовое приведение типов, используемое ufuncs и другими операциями для определения типов выходных данных. Они улучшают numpy.common_type
и numpy.mintypecode которые предоставляют аналогичную функциональность, но не соответствуют реализации ufunc.
Изменения#
default error handling#
Обработка ошибок по умолчанию была изменена с print to warn для всех, кроме underflow, который остается как ignore.
numpy.distutils#
Несколько новых компиляторов поддерживаются для сборки NumPy: компилятор Fortran Portland Group на OS X, набор компиляторов PathScale и 64-битный компилятор C Intel на Linux.
numpy.testing#
Тестовая среда получила numpy.testing.assert_allclose, который предоставляет
более удобный способ сравнения массивов с плавающей точкой, чем
assert_almost_equal, assert_approx_equal и assert_array_almost_equal.
C API#
В дополнение к API для нового итератора и типа данных half, ряд
других дополнений был внесён в C API. Механизм повышения
типов, используемый ufuncs, представлен через PyArray_PromoteTypes,
PyArray_ResultType, и PyArray_MinScalarType. Новое перечисление
NPY_CASTING был добавлен, который контролирует, какие типы преобразований разрешены. Это используется новыми функциями PyArray_CanCastArrayTo
и PyArray_CanCastTypeTo. Более гибкий способ обработки
преобразования произвольных объектов Python в массивы предоставляется
PyArray_GetArrayParamsFromObject.
Устаревшие функции#
Ключевое слово “normed” в numpy.histogram устарел. Его функциональность будет заменена новым ключевым словом "density".
Удалённые возможности#
numpy.fft#
Функции refft, refft2, refftn, irefft, irefft2, irefftn, которые были псевдонимами для тех же функций без буквы 'e' в названии, были удалены.
numpy.memmap#
The sync() и close() методы memmap были удалены. Используйте 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#
The numpy.get_numpy_include функция была удалена, используйте numpy.get_include
вместо этого.