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-разработчиков.

Читайте также
Что ждать от jQuery v4
Что ждать от jQuery v4
Что ждать от jQuery v4

В феврале команда jQuery предоставила бета-версию новой библиотеки jQuery 4.0.0.Это является тестовым релизом, но в ближайшее время ожидается стабильная версия. Это версия добавляет значительные изменения с целью оптимизации и для соответствия современным стандартам веб-разработки. И посмотрим ключевые моменты которые пришли с этим релизом:

Chrome 125 beta
Chrome 125 beta
Chrome 125 beta

Релиз довольно скромный и из значимых добавляет несколько новых фич

Опубликовали релиз легковесного http-сервера lighttpd 1.4.73
Опубликовали релиз легковесного http-сервера lighttpd 1.4.73
Опубликовали релиз легковесного http-сервера lighttpd 1.4.73

Он пытается сочетать высокую производительность, безопасность, соответствие стандартам и гибкость настройки.

Что было важного у JavaScript в 2023: сигналы, RSC
Что было важного у JavaScript в 2023: сигналы, RSC
Что было важного у JavaScript в 2023: сигналы, RSC

Важные события в 2023 связанные с JavaScript — внедрение сигналов, React компоненты для сервера. JS уже фуллстек?