Библиотека NumPy — один из важнейших инструментов Python для работы с числовыми данными. Она позволяет проводить сложные математические операции быстро и эффективно, используя короткие и понятные команды вместо длинных циклов. Написанная на языке C, NumPy обеспечивает значительное ускорение вычислений по сравнению с чистым Python. Библиотека особенно полезна при анализе данных, машинном обучении и в других областях, обрабатывающих большие объемы числовой информации. NumPy не предназначена для работы со строковыми данными (например, именами), но превосходно подходит для обработки числовых массивов.
Установка и подключение NumPy
Для начала работы установите NumPy с помощью команды pip install numpy в терминале. Затем подключите библиотеку в Python-файле: import numpy as np.
Работа с массивами
NumPy предоставляет эффективный механизм работы с многомерными массивами (включая матрицы). Создание массивов осуществляется с помощью функции np.array(). Массив может быть одномерным или многомерным.
# Одномерный массив
my_array = np.array([1, 2, 3, 4, 5])
# Двумерный массив (матрица)
my_matrix = np.array([[1, 2], [3, 4]])
NumPy предлагает функции для создания массивов со значениями по умолчанию: np.zeros(shape) (массив, заполненный нулями), np.ones(shape) (массив, заполненный единицами), np.eye(n) (единичная матрица размера n x n), np.linspace(start, stop, num) (массив с равномерно распределенными числами в заданном диапазоне), np.arange(start, stop, step) (массив с числами в заданном диапазоне с заданным шагом).
Доступ к элементам массива осуществляется с помощью индексов и срезов. Это работает одинаково для одномерных и двумерных массивов.
# Доступ к элементу одномерного массива
print(my_array[0]) # Выведет 1
# Доступ к элементу двумерного массива
print(my_matrix[1, 0]) # Выведет 3
# Срез одномерного массива
print(my_array[1:4]) # Выведет [2 3 4]
Одномерный массив можно преобразовать в двумерный с помощью функции reshape(). Несколько массивов можно объединить с помощью функций np.hstack() (горизонтальное объединение) и np.vstack() (вертикальное объединение). Разделение массива выполняется аналогично.
Статистические вычисления и примеры анализа данных
NumPy предоставляет множество встроенных функций для статистических вычислений: np.mean() (среднее значение), np.std() (стандартное отклонение), np.median() (медиана), np.min() (минимальное значение), np.max() (максимальное значение).
Пример 1: Анализ заработной платы
salaries = np.array([50, 60, 70, 80, 90, 100]) # Заработная плата в тысячах долларов
avg_salary = np.mean(salaries)
min_salary = np.min(salaries)
max_salary = np.max(salaries)
std_salary = np.std(salaries)
high_salaries = salaries[salaries > avg_salary]
print(f"Средняя зарплата: {avg_salary}")
print(f"Минимальная зарплата: {min_salary}")
print(f"Максимальная зарплата: {max_salary}")
print(f"Стандартное отклонение: {std_salary}")
print(f"Зарплаты выше среднего: {high_salaries}")
Пример 2: Анализ продаж
products = np.array(['A', 'B', 'C'])
prices = np.array([10, 20, 30])
quantities = np.array([5, 10, 15])
total_sales = prices * quantities
total_revenue = np.sum(total_sales)
avg_check = np.mean(total_sales)
best_product_index = np.argmax(total_sales)
worst_product_index = np.argmin(total_sales)
print(f"Общая выручка: {total_revenue:.2f}")
print(f"Средний чек: {avg_check:.2f}")
print(f"Лучший продукт: {products[best_product_index]}")
print(f"Худший продукт: {products[worst_product_index]}")
NumPy — мощный инструмент для работы с числовыми данными в Python. Изучение этой библиотеки — важный шаг для освоения анализа данных и машинного обучения. В следующих уроках мы рассмотрим другие библиотеки, такие как Pandas и Matplotlib.