Основы библиотеки NumPy: массивы, матрицы и математические операции

онлайн тренажер по питону
Онлайн-тренажер Python 3 для начинающих

Теория без воды. Задачи с автоматической проверкой. Подсказки на русском языке. Работает в любом современном браузере.

начать бесплатно

🔎 Введение

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

Если вы занимаетесь анализом данных, машинным обучением или инженерными расчётами, без NumPy не обойтись. Эту библиотеку активно используют такие фреймворки, как Pandas, Scikit-learn, TensorFlow и другие.

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


📚 Установка библиотеки

Установите NumPy через pip:

bash
pip install numpy

Проверьте версию:

python
import numpy as np print(np.__version__)

📦 Основные объекты NumPy: Массивы

Главный объект библиотеки — это массив (ndarray). Это улучшенная версия стандартных списков Python, оптимизированная для быстрого выполнения математических операций.

Создание массива:

python
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr) # [1 2 3 4 5]

Многомерные массивы:

python
matrix = np.array([[1, 2], [3, 4]]) print(matrix)

📌 Вывод:

lua
[[1 2] [3 4]]

📏 Основные свойства массивов

Свойство Описание
ndim Количество измерений
shape Размерность массива
size Общее количество элементов
dtype Тип данных элементов
python
arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.ndim) # 2 print(arr.shape) # (2, 3) print(arr.size) # 6

🔢 Специальные функции для создания массивов

python
np.zeros((2, 3)) # Массив из нулей np.ones((3, 3)) # Массив из единиц np.eye(3) # Единичная матрица np.arange(0, 10, 2) # [0 2 4 6 8] np.linspace(0, 1, 5) # [0. 0.25 0.5 0.75 1.]

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

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

python
a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) print(a + b) # [5 7 9] print(a * b) # [ 4 10 18] print(a ** 2) # [1 4 9]

Встроенные математические функции:

python
np.sum(a) # Сумма элементов np.mean(a) # Среднее значение np.max(a) # Максимум np.sin(a) # Синус от каждого элемента np.sqrt(a) # Квадратный корень

🧮 Работа с матрицами

Хотя в NumPy можно использовать массивы для матричных операций, предусмотрен специальный объект matrix:

python
mat = np.matrix([[1, 2], [3, 4]]) print(mat.T) # Транспонирование print(mat.I) # Обратная матрица

Умножение матриц:

python
a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) result = np.dot(a, b)

🔗 NumPy объединение массивов

Часто возникает задача объединить несколько массивов.

Объединение по горизонтали:

python
a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) np.hstack((a, b)) # [1 2 3 4 5 6]

Объединение по вертикали:

python
np.vstack((a, b))

📌 Вывод:

lua
[[1 2 3] [4 5 6]]

Использование concatenate:

python
np.concatenate((a, b)) # [1 2 3 4 5 6]

📐 Индексация и срезы массивов

python
arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr[0, 1]) # 2 print(arr[:, 1]) # [2 5] print(arr[1, :]) # [4 5 6]

📊 Логические операции и фильтрация

python
arr = np.array([1, 2, 3, 4, 5]) print(arr[arr > 3]) # [4 5] print(np.where(arr % 2 == 0)) # Индексы чётных чисел

📈 Примеры применения NumPy в реальных проектах

  • Анализ данных: Быстрая обработка больших CSV-файлов.

  • Машинное обучение: Векторизация данных для обучения моделей.

  • Инженерные расчёты: Быстрые вычисления с большими матрицами.

  • Графика и визуализация: Быстрое преобразование изображений в массивы.


📑 Полезные функции NumPy

Функция Назначение
np.unique() Получить уникальные элементы
np.sort() Сортировка массива
np.argsort() Индексы для сортировки
np.reshape() Изменение формы массива
np.flatten() Преобразование в одномерный массив

✅ Заключение

Библиотека NumPy — фундаментальный инструмент для работы с данными и вычислениями в Python. Освоив её основы, вы сможете:

  • Эффективно обрабатывать массивы и матрицы;

  • Выполнять сложные математические операции за миллисекунды;

  • Работать с большими объёмами данных без потери производительности.

Не забывайте заглядывать в официальную python numpy документация на русском, чтобы углублять свои знания и искать решения нестандартных задач.


❓FAQ

В: Что такое NumPy?
О: Это библиотека Python для научных вычислений и работы с массивами.

В: Как объединять массивы в NumPy?
О: С помощью np.hstack(), np.vstack(), np.concatenate().

В: Где найти документацию на русском?
О: Ознакомьтесь с официальной документацией или подробными гайдами, доступными в сообществе Python.

В: Что быстрее: списки Python или массивы NumPy?
О: Массивы NumPy работают в разы быстрее благодаря реализации на C и оптимизации памяти.

Новости