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

Читайте также
Google I/O 2024
Google I/O 2024
Google I/O 2024

Приготовьтесь к настоящему технологическому фестивалю! Google I/O 2024 уже на подходе, и он обещает быть очень интересным. Давайте посмотрим, чего же нам стоит ждать:

Игра «Нейрогород» на знание JavaScript и исправление фронтендерских багов
Игра «Нейрогород» на знание JavaScript и исправление фронтендерских багов
Игра «Нейрогород» на знание JavaScript и исправление фронтендерских багов

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

Dev новости: утверждение спецификаций ECMAScript 2024 и использование WasmGC в Google Sheets
Dev новости: утверждение спецификаций ECMAScript 2024 и использование WasmGC в Google Sheets
Dev новости: утверждение спецификаций ECMAScript 2024 и использование WasmGC в Google Sheets

Утверждена спецификация EMCAScript 2024, wasmGC в GoogleSheets и новые возможности для разработчиков в Shopify

Dev новости: Vite 5, Roc язык, JS Framework SDKs
Dev новости: Vite 5, Roc язык, JS Framework SDKs
Dev новости: Vite 5, Roc язык, JS Framework SDKs

Коротко о Vite который использует Rust. Язык Roc использует WebAssembly и SDK платформы JS для аутентификации.