Banner background
Скидка до 57% и подарки на 135 000 ₽
24 сен 2025
9 минут

Библиотека NumPy: что это, как установить и использовать

Программирование

Когда вы только начинаете писать код на Python, чаще всего используете обычные списки для хранения чисел. Но если данных становится много — например, нужно обработать миллионы строк из логов, посчитать статистику по датасету или выполнить матричные вычисления — списки быстро перестают справляться. Они работают медленно, занимают больше памяти и усложняют код.
В таких ситуациях на помощь приходит NumPy — библиотека, созданная специально для численных расчетов. Без NumPy не обходится ни машинное обучение, ни научные исследования, ни обработка изображений.
Разберем, для чего применяется модуль NumPy, как его установить и с чего начать работу.
 

Что такое библиотека NumPy

NumPy (сокращение от Numerical Python) — это библиотека, которая помогает удобно и быстро работать с числами. Это делает ее основным инструментом для расчетов в науке и инженерии.

NumPy появилась в середине 2000-х годов на основе проекта Numeric. Ее автор — Трэвис Олифант, один из активных участников сообщества Python. Идея заключалась в том, чтобы объединить несколько разрозненных подходов к обработке чисел в одну универсальную библиотеку. 

Если сравнить массивы NumPy с обычными списками Python, они выигрывают сразу по нескольким параметрам:

  • Скорость. Все вычисления происходят быстрее — благодаря оптимизации на уровне C.

  • Возможности. NumPy поддерживает работу с матрицами, изменением формы и статистическими операциями.

  • Код. То, что в Python требует нескольких строк и циклов, в NumPy можно записать одной строкой.

NumPy выполняет численные операции быстрее и с меньшим потреблением памяти


NumPy применяют в задачах, где важно быстро и эффективно обрабатывать численные данные. Например:

  • при анализе пользовательских метрик и логов;

  • для предобработки данных в проектах машинного обучения;

  • в научных исследованиях и статистике;

  • при работе с изображениями, сигналами и координатами;

  • в инженерных и физических расчетах.

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

Как установить NumPy

NumPy не входит в Python по умолчанию, поэтому перед использованием ее нужно установить отдельно. Есть несколько основных способов, как скачать NumPy.

1. Установка NumPy через pip
Это самый распространенный и универсальный вариант:

pip install numpy

Команда скачает свежую стабильную версию NumPy package из официального репозитория PyPI и установит ее в текущее окружение. Убедитесь, что у вас установлен Python 3 — с Python 2 библиотека больше не работает.

Если вы работаете в виртуальном окружении (а это рекомендуется), NumPy устанавливается только внутри проекта и не влияет на остальную систему.

2. Установка через терминал (Anaconda / Miniconda)

Если вы используете Anaconda или Miniconda, установите библиотеку через менеджер пакетов Conda:

conda install numpy

В этом случае NumPy будет скачан из Conda Forge — альтернативного репозитория с предварительно собранными и оптимизированными пакетами.

Во многих сборках Anaconda NumPy уже есть. Проверить это можно командой:
conda list

3. Установка в Jupyter Notebook

Если вы работаете в Jupyter, а NumPy еще не установлена, можно сделать это прямо в ячейке, добавив ! перед командой:

!pip install numpy

Или так, если вы используете Jupyter внутри Conda-среды:

!conda install numpy -y

Команда !conda install может не работать в некоторых средах (например, Google Colab). В таких случаях лучше использовать pip.
 

Как подключить NumPy библиотеку в коде

После установки NumPy lib сразу готова к работе — можно подключать и использовать в коде. Это делается с помощью команды import, которая сообщает Python, что вы хотите использовать внешний модуль.

В профессиональном сообществе Python принято импортировать NumPy с коротким псевдонимом np — это удобно и сокращает запись кода:

import numpy as np

Такое сокращение используется почти везде — так код получается короче, особенно при работе с массивами и формулами.

Подключение одинаково работает:

  • в обычных .py-файлах;

  • интерактивной оболочке Python;

  • Jupyter Notebook;

  • IDE вроде PyCharm или VS Code.

Чтобы убедиться, что библиотека подключена, можно сразу вывести ее версию:

Если при запуске возникает ошибка ModuleNotFoundError: No module named 'numpy', это означает, что NumPy не установлена в текущей среде. В этом случае нужно вернуться к установке.
 

Основной объект NumPy и его ключевые атрибуты

Перед тем как использовать функции библиотеки, разберемся, что является основным объектом в NumPy и как он устроен.

Основной тип данных в NumPy — массив ndarray. Это многомерная структура, в которой все элементы одного типа: целые, дробные или логические. Массивы занимают меньше памяти, чем списки Python, и работают быстрее. Поэтому с ними удобно обрабатывать большие объемы данных.

На практике чаще всего встречаются двумерные и трехмерные структуры. Двумерный массив можно представить как таблицу в Excel: строки и столбцы с числами. Трехмерный — как стопку таких таблиц, уложенных одна на другую.

Массивы NumPy бывают разных форм: двумерные напоминают таблицу Excel, трехмерные — как стопка таких таблиц

У каждого массива есть свойства — они называются атрибутами. С их помощью можно узнать, сколько в массиве данных, какого они типа и как они расположены.

Вот основные атрибуты:

  • shape — размер массива. Например, (3, 4) означает 3 строки и 4 столбца.

  • ndim — число измерений: 1, 2, 3 и так далее.

  • size — общее количество элементов. Например, в массиве 3×4 — 12 значений.

  • dtype — тип данных. Это может быть int, float, bool и другие. Все элементы в массиве одного типа.

  • itemsize — сколько байт занимает один элемент в памяти.

Например, если вы загружаете таблицу с данными из Excel, важно сразу понять, сколько в ней строк и столбцов и все ли значения — числа. Если в массиве случайно окажется строка, многие расчеты могут не сработать. Атрибуты массива позволяют быстро это проверить и избежать ошибок.

Такая структура полезна в аналитике, машинном обучении, работе с графиками и любых задачах, где важна точность и скорость обработки данных.
 

Основные функции и методы библиотеки NumPy

Библиотека содержит сотни функций, но в повседневной практике чаще всего используются несколько ключевых групп: создание массивов, изменение их формы, выполнение математических операций, расчет статистик, фильтрация и линейная алгебра.

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

Создание массивов NumPy
NumPy помогает быстро создавать массивы нужной формы и наполнения.
Для преобразования готового списка или кортежа используют np.array().

Если нужны массивы, заполненные одинаковыми значениями, подойдут:

  • np.zeros() — массив из нулей;

  • np.ones() — массив из единиц.

Для генерации последовательностей чисел:

  • np.arange() — создает числа с заданным шагом;

  • np.linspace() — создает равномерно распределенные значения между границами.

Такие функции полезны, например, при подготовке тестовых данных, создании координат для построения графиков или формировании исходных матриц в моделировании.

Изменение формы массива

Когда данные уже есть, часто нужно изменить их структуру. Например, превратить одномерный список в таблицу или объединить несколько массивов в один.

Для этого в NumPy есть функции:

  • reshape() — задание новой формы;

  • flatten() и ravel() — разворачивание в одномерный массив;

  • transpose() или .T — поменять местами строки и столбцы.

Это особенно полезно при обработке таблиц, изображений или данных из CSV-файлов.

Математические операции

NumPy поддерживает быстрые поэлементные вычисления. Если сложить два массива одинаковой формы, операция пройдет сразу по всем элементам.

Можно выполнять:

  • обычные арифметические операции: +, -, *, /;

  • агрегирующие функции: np.sum(), np.mean(), np.max(), np.min();

  • округление, корни, модули: np.round(), np.sqrt(), np.abs();

  • умножение матриц — с помощью np.dot() или специального оператора @ (как в математике).

Такие операции широко используются в аналитике, обработке сигналов и работе с таблицами данных.

Статистика и фильтрация

NumPy помогает выбирать нужные значения из массива по условию — это называется логическая индексация.

data = np.array([5, -3, 7, 0])

positive = data[data > 0]

Можно рассчитывать:

  • стандартное отклонение — np.std();

  • медиану — np.median();

  • уникальные значения — np.unique();

  • процентили — np.percentile().

Такие функции помогают анализировать массивы: фильтровать шумы, находить тренды, убирать выбросы.

Линейная алгебра

NumPy включает модуль linalg, в котором собраны инструменты для работы с матрицами:

  • np.linalg.inv() — обратная матрица;

  • np.linalg.det() — определитель;

  • np.linalg.solve() — решение системы уравнений;

  • np.linalg.eig() — собственные значения и векторы.

Эти функции нужны в машинном обучении и инженерных задачах.
 

Примеры базового использования NumPy

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

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

Пример 1. Создание массива и базовые операции NumPy

Допустим, у нас есть набор температур за неделю, и мы хотим найти среднюю.

import numpy as np

temps = np.array([18.5, 20.1, 19.8, 21.0, 22.3, 20.4, 19.9])

mean_temp = np.mean(temps)

Такой код удобен, когда нужно быстро обработать данные без ручного перебора.

Пример 2. Работа с двумерными массивами

Допустим, у нас есть таблица продаж по дням и магазинам:

sales = np.array([

   [150, 200, 175],

   [180, 210, 160],

   [190, 220, 185]

])

Здесь строки — это дни, а столбцы — магазины.

Посчитаем суммарные продажи по каждому магазину:

totals = np.sum(sales, axis=0)

Параметр axis=0 указывает, что нужно суммировать вдоль строк — то есть взять сумму по каждому столбцу.

Пример 3. Индексация и фильтрация

Иногда нужно отфильтровать массив по определенному условию — например, выбрать только положительные числа:

data = np.array([3, -1, 7, 0, -5, 4])

positive = data[data > 0]

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

Пример 4. Изменение формы массива

Иногда нужно изменить форму массива — например, превратить одномерный набор чисел в таблицу. Для этого используется метод reshape():

import numpy as np

arr = np.arange(12)  # создаём массив от 0 до 11

table = arr.reshape(3, 4)  # 3 строки, 4 столбца

Результат:

[[ 0  1  2  3]

[ 4  5  6  7]

[ 8  9 10 11]]

Здесь reshape(3, 4) означает, что массив будет представлен в виде таблицы размером 3×4. Общее число элементов должно совпадать (в данном случае: 3×4 = 12).
 

Советы и рекомендации для начинающих

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

Как избежать типичных ошибок

1. Не путайте список Python и массив NumPy

Функции NumPy работают корректно только с массивами ndarray. Если вы передаете обычный список, некоторые операции могут не сработать или дать некорректный результат.

sum([1, 2, 3])           # встроенная функция Python → результат: 6

np.sum([1, 2, 3])        # NumPy тоже посчитает сумму, но сначала преобразует список в массив

np.sum(np.array([1, 2, 3]))  # правильно: явно передаем массив

2. Обратите внимание на тип данных — они должны быть одинаковыми. (dtype)

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

import numpy as np

arr = np.array([1, 2, '3'])  

3. Изменение формы — только если размер совпадает

При использовании reshape() размер массива до и после должен быть одинаковым. Иначе возникнет ошибка.

arr = np.arange(6)

arr.reshape(2, 3)  # правильно

arr.reshape(3, 3)  # ошибка: нельзя уместить 6 элементов в 3×3

Особенности производительности и векторизация

NumPy помогает не писать циклы вручную — вместо них сразу работает с целым массивом.

Пример:

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

c = a + b  # [5 7 9]

В обычном Python пришлось бы использовать цикл for.

c = []

for i in range(len(a)):
 c.append(a[i] + b[i])

Почему NumPy работает быстрее:

  • операции написаны на языке C и выполняются на низком уровне;

  • данные хранятся в непрерывной области памяти;

  • нет лишней интерпретации Python в каждой итерации.

Такая оптимизация особенно заметна на больших массивах и при сложных вычислениях.

Совместимость с другими библиотеками

NumPy часто используется вместе с другими инструментами в экосистеме Python:

  • Pandas — для работы с таблицами. Внутри Pandas используется NumPy.

  • Matplotlib — для построения графиков. Принимает NumPy-массивы.

  • SciPy — расширяет NumPy: оптимизация, статистика, интерполяция.

  • Scikit-learn — алгоритмы машинного обучения. Все входные данные — NumPy-массивы.

Если вы собираетесь заниматься анализом данных, визуализацией, машинным обучением или математическим моделированием — использование NumPy станет отправной точкой. На ней построено много других библиотек в экосистеме Python.
 

Заключение

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

Для тех, кто хочет углубить знания в Python и научиться применять их в разных сферах — от анализа данных до автоматизации процессов — важна программа обучения, сочетающая теорию и практику. 

В ProductStar обучение строится так, чтобы каждый новый инструмент сразу закреплялся на реальных задачах: разборы кейсов, выполнение проектов, работа с настоящими наборами данных. Такой формат помогает применять знания в рабочих сценариях — от построения аналитических моделей до разработки программных решений. С актуальными курсами и направлениями можно ознакомиться в каталоге курсов на сайте ProductStar.
 

Поделиться
star1

Вам может также понравиться

Tableau: обзор программы, возможности и принципы работы
Аналитика
Tableau: обзор программы, возможности и принципы работы
Топ нейросетей для генерации схем, диаграмм и графиков
Разное
Топ нейросетей для генерации схем, диаграмм и графиков
Kanban: полное руководство по методологии визуального управления проектами
Менеджмент
Kanban: полное руководство по методологии визуального управления проектами
Обзор возможностей нового ChatGPT-5
Обзор возможностей нового ChatGPT-5
star2

Курсы, которые выбирают чаще всего