tgoop.com/dsproglib/6569
Create:
Last Update:
Last Update:
🛠 How-to: что полезного появилось в NumPy 2.3.0 — и как это использовать
NumPy 2.3.0 — не просто «ещё один апдейт», а шаг в будущее Python-научных расчётов. Вот как можно применять новые фичи уже сейчас — и чем они вам помогут.
Новая 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-данных
— При обработке колонок со строками в датафреймах
Актуально всегда, но особенно в свете ускорений для Python без GIL:
numbers = [1, 2, 3, 2, 4]
is_unique = len(numbers) == len(set(numbers))
free-threaded Python
До:
if "слово" in words: # медленно, если words — список
Теперь:
word_set = set(words)
if "слово" in word_set: # мгновенно
set()
для ускорения любых операций типа in
, особенно в циклах.Теперь можно собирать NumPy с OpenMP:
CFLAGS="-fopenmp" python -m pip install .
Зачем:
— Ускорение NumPy-функций в CPU-heavy задачах
— Поддержка многопотока без GIL (free-threaded Python)
Подходит для:
— Data processing pipelines
— Объёмных array-вычислений
— Самописных модулей с NumPy в backend
Если вы на ARM-ноутбуке (например, Surface или Snapdragon), NumPy теперь работает. Поддержка пока базовая, но этого уже достаточно для простых задач и Jupyter-анализа.
Пока что для большинства — «магия под капотом». Но если вы:
— Пишете ML/DS пайплайны
— Используете
concurrent.futures
или async
— Работаете с multiprocessing/shared memory
Библиотека дата-сайентиста #буст