DSPROGLIB Telegram 6569
🛠 How-to: что полезного появилось в NumPy 2.3.0 — и как это использовать

NumPy 2.3.0 — не просто «ещё один апдейт», а шаг в будущее Python-научных расчётов. Вот как можно применять новые фичи уже сейчас — и чем они вам помогут.

1️⃣ Быстрая нарезка строк: numpy.strings.slice

Новая C-ускоренная функция для нарезки строк в массиве:
import numpy as np

arr = np.array(["пример", "строка", "массив"], dtype="U")
sliced = np.strings.slice(arr, start=1, stop=-1)
print(sliced) # ['риме' 'трок' 'асси']


➡️ Поддерживает шаг, отрицательные индексы, работает на массиве сразу
➡️ Быстрее, чем str[i:j] в цикле

Где использовать:
— При очистке или стандартизации текстов
— При подготовке NLP-данных
— При обработке колонок со строками в датафреймах

2️⃣ Проверка на уникальность через set

Актуально всегда, но особенно в свете ускорений для Python без GIL:
numbers = [1, 2, 3, 2, 4]
is_unique = len(numbers) == len(set(numbers))


➡️ Раньше → медленно на больших массивах
➡️ Теперь → работает быстро даже в многопотоке, особенно с free-threaded Python

3️⃣ Ускоряйте поиск через set

До:
if "слово" in words:  # медленно, если words — список


Теперь:
word_set = set(words)
if "слово" in word_set: # мгновенно


➡️ Используйте set() для ускорения любых операций типа in, особенно в циклах.

4️⃣ Параллельные сборки через OpenMP

Теперь можно собирать NumPy с OpenMP:
CFLAGS="-fopenmp" python -m pip install .


Зачем:
— Ускорение NumPy-функций в CPU-heavy задачах
— Поддержка многопотока без GIL (free-threaded Python)

Подходит для:
— Data processing pipelines
— Объёмных array-вычислений
— Самописных модулей с NumPy в backend

5️⃣ Поддержка Windows on ARM (предварительно)

Если вы на ARM-ноутбуке (например, Surface или Snapdragon), NumPy теперь работает. Поддержка пока базовая, но этого уже достаточно для простых задач и Jupyter-анализа.

6️⃣ Free-threaded Python: под капотом

Пока что для большинства — «магия под капотом». Но если вы:
— Пишете ML/DS пайплайны
— Используете concurrent.futures или async
— Работаете с multiprocessing/shared memory

➡️ Вам станет проще и быстрее. NumPy уже готов к миру без GIL.


🔗 Документация с интерактивными примерами: https://clc.to/YxihAw

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/dsproglib/6569
Create:
Last Update:

🛠 How-to: что полезного появилось в NumPy 2.3.0 — и как это использовать

NumPy 2.3.0 — не просто «ещё один апдейт», а шаг в будущее Python-научных расчётов. Вот как можно применять новые фичи уже сейчас — и чем они вам помогут.

1️⃣ Быстрая нарезка строк: numpy.strings.slice

Новая C-ускоренная функция для нарезки строк в массиве:

import numpy as np

arr = np.array(["пример", "строка", "массив"], dtype="U")
sliced = np.strings.slice(arr, start=1, stop=-1)
print(sliced) # ['риме' 'трок' 'асси']


➡️ Поддерживает шаг, отрицательные индексы, работает на массиве сразу
➡️ Быстрее, чем str[i:j] в цикле

Где использовать:
— При очистке или стандартизации текстов
— При подготовке NLP-данных
— При обработке колонок со строками в датафреймах

2️⃣ Проверка на уникальность через set

Актуально всегда, но особенно в свете ускорений для Python без GIL:
numbers = [1, 2, 3, 2, 4]
is_unique = len(numbers) == len(set(numbers))


➡️ Раньше → медленно на больших массивах
➡️ Теперь → работает быстро даже в многопотоке, особенно с free-threaded Python

3️⃣ Ускоряйте поиск через set

До:
if "слово" in words:  # медленно, если words — список


Теперь:
word_set = set(words)
if "слово" in word_set: # мгновенно


➡️ Используйте set() для ускорения любых операций типа in, особенно в циклах.

4️⃣ Параллельные сборки через OpenMP

Теперь можно собирать NumPy с OpenMP:
CFLAGS="-fopenmp" python -m pip install .


Зачем:
— Ускорение NumPy-функций в CPU-heavy задачах
— Поддержка многопотока без GIL (free-threaded Python)

Подходит для:
— Data processing pipelines
— Объёмных array-вычислений
— Самописных модулей с NumPy в backend

5️⃣ Поддержка Windows on ARM (предварительно)

Если вы на ARM-ноутбуке (например, Surface или Snapdragon), NumPy теперь работает. Поддержка пока базовая, но этого уже достаточно для простых задач и Jupyter-анализа.

6️⃣ Free-threaded Python: под капотом

Пока что для большинства — «магия под капотом». Но если вы:
— Пишете ML/DS пайплайны
— Используете concurrent.futures или async
— Работаете с multiprocessing/shared memory

➡️ Вам станет проще и быстрее. NumPy уже готов к миру без GIL.


🔗 Документация с интерактивными примерами: https://clc.to/YxihAw

Библиотека дата-сайентиста #буст

BY Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение




Share with your friend now:
tgoop.com/dsproglib/6569

View MORE
Open in Telegram


Telegram News

Date: |

A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. Activate up to 20 bots Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” Commenting about the court's concerns about the spread of false information related to the elections, Minister Fachin noted Brazil is "facing circumstances that could put Brazil's democracy at risk." During the meeting, the information technology secretary at the TSE, Julio Valente, put forward a list of requests the court believes will disinformation.
from us


Telegram Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
FROM American