Примечания к выпуску NumPy 1.16.1#

Выпуск NumPy 1.16.1 исправляет ошибки, о которых сообщалось в версии 1.16.0, а также переносит несколько улучшений из основной ветки, которые кажутся уместными для серии выпусков, которая является последней, поддерживающей Python 2.7. Колеса на PyPI связаны с OpenBLAS v0.3.4+, что должно исправить известные проблемы с потоками, найденные в предыдущих версиях OpenBLAS.

Разработчикам, собирающим этот релиз, следует использовать Cython >= 0.29.2 и, если используется OpenBLAS, OpenBLAS > v0.3.4.

Если вы устанавливаете с помощью pip, вы можете столкнуться с проблемой, когда старые установленные версии NumPy, которые pip не удалил, смешиваются с текущей версией, что приводит к ImportError. Эта проблема особенно распространена в дистрибутивах, производных от Debian, из-за изменённого pip. Исправление заключается в том, чтобы убедиться, что все предыдущие версии NumPy, установленные через pip, были удалены. См. #12736 для обсуждения проблемы. Обратите внимание, что ранее эта проблема приводила к AttributeError.

Участники#

Всего 16 человек внесли вклад в этот выпуск. Люди со знаком «+» рядом с их именами внесли патч впервые.

  • Antoine Pitrou

  • Arcesio Castaneda Medina +

  • Чарльз Харрис

  • Chris Markiewicz +

  • Кристоф Голке

  • Christopher J. Markiewicz +

  • Daniel Hrisca +

  • EelcoPeacs +

  • Eric Wieser

  • Кевин Шеппард

  • Matti Picus

  • OBATA Akio +

  • Ralf Gommers

  • Себастьян Берг

  • Stephan Hoyer

  • Tyler Reddy

Улучшения#

  • #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: УЛУЧШ: Добавлено mm->qm divmod

  • #12890: ENH: добавление _dtype_ctype в пространство имён для анализа заморозки

Примечания по совместимости#

  • Измененное сообщение об ошибке, выдаваемое функциями тестирования сравнения массивов, может повлиять на doctests. Подробности см. ниже.

  • Исправлено приведение двойных и одинарных денормалей к float16. В некоторых редких случаях это может привести к округлению результатов вверх вместо вниз, изменяя последний бит (ULP) результата.

Новые возможности#

Операция divmod теперь поддерживается для двух timedelta64 операнды#

Оператор divmod теперь обрабатывает два np.timedelta64 операнды, с сигнатурой типа mm->qm.

Улучшения#

Дальнейшие улучшения для ctypes поддержка в np.ctypeslib#

Новый numpy.ctypeslib.as_ctypes_type функция была добавлена, которая может использоваться для преобразования dtype в наилучшее предположение ctypes тип. Благодаря этой новой функции, numpy.ctypeslib.as_ctypes теперь поддерживает гораздо более широкий диапазон типов массивов, включая структуры, логические значения и целые числа с нестандартным порядком байтов.

Утверждения сравнения массивов включают максимальные различия#

Сообщения об ошибках из тестов сравнения массивов, таких как np.testing.assert_allclose теперь включают «максимальную абсолютную разницу» и «максимальную относительную разницу» в дополнение к предыдущему проценту «несоответствия». Эта информация упрощает обновление абсолютных и относительных допусков ошибок.

Изменения#

timedelta64 % 0 поведение скорректировано для возврата NaT#

Операция модуля с двумя np.timedelta64 операнды теперь возвращает NaT в случае деления на ноль, а не возврата нуля