NumPy 2.0: Новая Эра для Фундаментальной Математической Библиотеки Python

С релизом NumPy 2.0, первой значимой новой версии с 2006 года, мир Python получает не только улучшенную производительность, но и множество новых функций. NumPy, являясь краеугольным камнем научных и числовых вычислений на Python, продолжает расширять свои возможности и упрощать работу для разработчиков и исследователей.

NumPy открывает перед Python возможности работы с большими многомерными массивами и специализированными объектами, такими как маскированные массивы и матрицы. Эти массивы могут быть обработаны с использованием обширного набора высокоуровневых математических функций, которые предоставляет библиотека.

Широкий Набор Возможностей NumPy

В библиотеке NumPy содержится множество процедур для быстрой обработки массивов, включая:

  • Математические и логические операции
  • Манипуляции с формами массивов
  • Сортировку и выборку данных
  • Ввод-вывод данных
  • Дискретные преобразования Фурье
  • Основы линейной алгебры
  • Базовые статистические операции
  • Моделирование случайных чисел

Кроме того, NumPy предлагает инструменты для интеграции с кодом на C/C++ и Fortran, а также полезные функции для работы с линейной алгеброй и случайными числами.

Обновления и Изменения в NumPy 2.0

В блоге разработчиков говорится:

«На протяжении последних 18 лет NumPy совершенствовался и развивался, принося значительные улучшения в производительности, удобстве использования и согласованности. Однако, наше стремление сохранять обратную совместимость ограничивало масштаб возможных улучшений как в API, так и в его базовую реализацию.»

Команда разработчиков решила сделать значительный шаг, нарушив обратную совместимость для реализации существенных улучшений в системе типов NumPy. Поскольку система типов является основополагающей для NumPy, изменения такого масштаба нельзя было вносить постепенно без риска смешивания двух различных систем типов.

Улучшения в API и Система Типов

Среди изменений в NumPy 2.0:

  • Переработанный API Python для его упрощения и очищения. Это должно сделать NumPy более доступным для изучения и использования.
  • Сокращение основного пространства имен на 10%, а более нишевого numpy.lib — на 80%, что способствует более четкому разграничению между публичными и приватными элементами API.
  • Улучшенные правила продвижения скаляров, устраняющие «неожиданное поведение» при работе с массивами нулевой размерности.
  • Введение нового API DType и нового строкового типа данных (dtype), обеспечивающего эффективную поддержку строк переменной длины.

Совместимость с Windows и Поддержка Стандарта Python Array API

NumPy 2.0 улучшает совместимость с Windows, обновляя 32-битное представление целых чисел до 64-битного на 64-битных архитектурах, что решает многие проблемы с переносимостью между операционными системами. Также добавлена поддержка стандарта Python array API, и существующие API приведены в соответствие с этим стандартом.

Доступность

NumPy 2.0 уже доступен для скачивания и использования, предоставляя разработчикам и исследователям новые инструменты и улучшения для их научных и числовых вычислений.

Введение этих изменений подчеркивает важность адаптации и роста в ответ на потребности пользователей и эволюцию технологий, делая NumPy еще более мощным инструментом в арсенале Python-разработчиков.

Читайте также
7 расширений Chrome, которые ускорят работу на фронтенде
7 расширений Chrome, которые ускорят работу на фронтенде
7 расширений Chrome, которые ускорят работу на фронтенде

Рассказали о полезных фронтенд-инструментах для повышения производительности.

SortableJS переносит списки с перетаскиванием в Microsoft Blazor
SortableJS переносит списки с перетаскиванием в Microsoft Blazor
SortableJS переносит списки с перетаскиванием в Microsoft Blazor

Разработчики преобразовали SortableJS, инструмент JavaScript для создания списков с возможностью перетаскивания, в компонент Blazor для разработки веб-приложений Microsoft, переименовав его в Blazor Sortable.

AdonisJS v6: Полный переход на современные стандарты JavaScript
AdonisJS v6: Полный переход на современные стандарты JavaScript
AdonisJS v6: Полный переход на современные стандарты JavaScript

Переход на современные стандарты Ключевое изменение в AdonisJS v6 – полная поддержка современных стандартов JavaScript: ECMAScript Modules (ESM) и TypeScript. Это обеспечивает совместимость с последними версиями пакетов и повышает безопасность благодаря доступу к актуальным исправлениям уязвимостей. Приложения AdonisJS v6 теперь по умолчанию используют TypeScript и ESM, однако разработчики по-прежнему могут устанавливать и применять пакеты, написанные […]

Что нового в Chrome 123
Что нового в Chrome 123
Что нового в Chrome 123

С помощью новой функции light-dark() можно адаптировать свою цветовую схему; диагностика отзывчивости сайта с помощью API Long Animation Frames; с помощью API статической маршрутизации Service Worker можно избегайте снижения производительности при запуске Service Worker