Список самых востребованных методов Numpy

Список самых востребованных методов Numpy

Картинка к публикации: Список самых востребованных методов Numpy

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

Импорт библиотеки

import numpy as np

Создание и инициализация массивов

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

np.array

Создает массив NumPy.

arr = np.array([1, 2, 3, 4])
# Создаст массив [1 2 3 4]

np.zeros

Создает массив, заполненный нулями.

zeros_arr = np.zeros(3)
# Создаст массив [0. 0. 0.]

np.ones

Создает массив, заполненный единицами.

ones_arr = np.ones(4)
# Создаст массив [1. 1. 1. 1.]

np.linspace

Создает равномерно распределенные значения в заданном интервале.

linspace_arr = np.linspace(0, 1, 5)
# Создает массив с 5 равномерно распределенными значениями от 0 до 1.
# [0.   0.25 0.5  0.75 1.  ]

np.arange

Создает массив с арифметической последовательностью значений.

arange_arr = np.arange(1, 6)
# Создает массив с арифметической последовательностью от 1 до 5.
# [1 2 3 4 5]

np.random.rand

Генерирует случайные числа из равномерного распределения.

random_values = np.random.rand(3)
# Генерирует 3 случайных значения от 0 до 1.

np.random.randn

Генерирует случайные числа из стандартного нормального распределения.

random_values = np.random.randn(3)
# Генерирует 3 случайных значения из стандартного нормального распределения.

np.random.randint

Генерирует случайные целые числа в заданном интервале.

random_integers = np.random.randint(1, 10, size=5)
# Генерирует 5 случайных целых чисел от 1 до 9.

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

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

np.reshape

Изменяет форму массива.

arr = np.array([1, 2, 3, 4, 5, 6])
reshaped_arr = arr.reshape(2, 3)
# Переформирует массив в матрицу 2x3:
# [[1 2 3]
#  [4 5 6]]

np.concatenate

Объединяет массивы.

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
concatenated_arr = np.concatenate((arr1, arr2))
# Объединяет arr1 и arr2 в один массив:
# [1 2 3 4 5 6]

np.transpose

Транспонирует массив.

arr = np.array([[1, 2], [3, 4]])
transposed_arr = np.transpose(arr)
# Транспонирует массив:
# [[1 3]
#  [2 4]]

np.vstack

Объединяет массивы вертикально (по строкам).

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
stacked_arr = np.vstack((arr1, arr2))
# Объединяет arr1 и arr2 вертикально:
# [[1 2 3]
#  [4 5 6]]

np.hstack

Объединяет массивы горизонтально (по столбцам).

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
stacked_arr = np.hstack((arr1, arr2))
# Объединяет arr1 и arr2 горизонтально:
# [1 2 3 4 5 6]

np.split

Разделяет массив на подмассивы.

arr = np.array([1, 2, 3, 4, 5, 6])
sub_arrays = np.split(arr, 3)
# Разделяет arr на 3 подмассива:
# [1 2] [3 4] [5 6]

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

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

np.dot

Выполняет матричное умножение.

arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([2, 3])
result = np.dot(arr1, arr2)
# Выполняет умножение матрицы arr1 на вектор arr2:
# [8 18]

np.exp

Вычисляет экспоненту (e^x) для каждого элемента массива.

arr = np.array([1, 2, 3])
exp_values = np.exp(arr)
# Вычисляет экспоненту для каждого элемента массива:
# [ 2.71828183  7.3890561  20.08553692]

np.log

Вычисляет натуральный логарифм (ln(x)) для каждого элемента массива.

arr = np.array([1, 2, 3])
log_values = np.log(arr)
# Вычисляет натуральный логарифм для каждого элемента массива:
# [0.         0.69314718 1.09861229]

np.sin

Вычисляет синус для каждого элемента массива.

arr = np.array([0, np.pi / 2, np.pi])
sin_values = np.sin(arr)
# Вычисляет синус для каждого элемента массива:
# [0.0000000e+00 1.0000000e+00 1.2246468e-16]

np.cos

Вычисляет косинус для каждого элемента массива.

arr = np.array([0, np.pi / 2, np.pi])
cos_values = np.cos(arr)
# Вычисляет косинус для каждого элемента массива:
# [1.0000000e+00 6.123234e-17 -1.0000000e+00]

np.tan

Вычисляет тангенс для каждого элемента массива.

arr = np.array([0, np.pi / 4, np.pi / 2])
tan_values = np.tan(arr)
# Вычисляет тангенс для каждого элемента массива:
# [0.0000000e+00 1.0000000e+00 1.63312394e+16]

np.sqrt

Вычисляет квадратный корень для каждого элемента массива.

arr = np.array([1, 4, 9])
sqrt_values = np.sqrt(arr)
# Вычисляет квадратный корень для каждого элемента массива:
# [1. 2. 3.]

Статистические вычисления

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

np.mean

Вычисляет среднее значение элементов массива.

arr = np.array([1, 2, 3, 4, 5])
mean_value = np.mean(arr)
# Вычисляет среднее значение элементов массива:
# 3.0

np.sum

Суммирует элементы массива.

   arr = np.array([1, 2, 3, 4, 5])
   sum_value = np.sum(arr)
   # Суммирует элементы массива:
   # 15

np.std

Вычисляет стандартное отклонение.

arr = np.array([1, 2, 3, 4, 5])
std_value = np.std(arr)
# Вычисляет стандартное отклонение элементов массива:
# 1.4142135623730951

np.var

Вычисляет дисперсию (вариацию) элементов массива.

arr = np.array([1, 2, 3, 4, 5])
var_value = np.var(arr)
# Вычисляет дисперсию элементов массива:
# 2.5

np.min

Находит минимальное значение в массиве.

arr = np.array([1, 2, 3, 4, 5])
min_value = np.min(arr)
# Находит минимальное значение в массиве:
# 1

np.max

Находит максимальное значение в массиве.

arr = np.array([1, 2, 3, 4, 5])
max_value = np.max(arr)
# Находит максимальное значение в массиве:
# 5

np.argmin

Находит индекс минимального значения в массиве.

arr = np.array([5, 2, 8, 1, 7])
argmin_value = np.argmin(arr)
# Находит индекс минимального значения в массиве:
# 3

np.argmax

Находит индекс максимального значения в массиве.

arr = np.array([5, 2, 8, 1, 7])
argmax_value = np.argmax(arr)
# Находит индекс максимального значения в массиве:
# 2

np.percentile

Вычисляет персентили для заданных данных.

data = np.array([1, 2, 3, 4, 5])
percentile_25 = np.percentile(data, 25)
# Вычисляет 25-й процентиль данных.
# 2.0

np.histogram

Вычисляет гистограмму данных.

data = np.array([1, 2, 2, 3, 3, 3, 4, 4, 4, 4])
hist, bins = np.histogram(data, bins=[1, 2, 3, 4, 5])
# Вычисляет гистограмму данных с указанными интервалами.
# [1 3 4 2]

Поиск и сортировка

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

np.argsort

Возвращает индексы элементов в отсортированном порядке.

arr = np.array([5, 2, 8, 1, 7])
sorted_indices = np.argsort(arr)
# Возвращает индексы элементов в отсортированном порядке:
# [3 1 4 0 2]

np.where

Возвращает индексы элементов, где заданное условие выполняется.

arr = np.array([1, 2, 3, 4, 5])
indices = np.where(arr > 2)
# Возвращает индексы элементов, где значение больше 2:
# (array([2, 3, 4]),)

np.unique

Возвращает уникальные элементы в массиве.

arr = np.array([1, 2, 2, 3, 4, 4, 4])
unique_values = np.unique(arr)
# Возвращает уникальные элементы в массиве:
# [1 2 3 4]

np.clip

Ограничивает значения в массиве в заданном диапазоне.

arr = np.array([1, 2, 3, 4, 5])
clipped_arr = np.clip(arr, 2, 4)
# Ограничивает значения в массиве от 2 до 4:
# [2 2 3 4 4]

np.roll

Перемещает элементы массива на заданное количество позиций.

arr = np.array([1, 2, 3, 4, 5])
rolled_arr = np.roll(arr, 2)
# Перемещает элементы массива на 2 позиции:
# [4 5 1 2 3]

np.searchsorted

Находит место для вставки элемента в упорядоченном массиве.

sorted_arr = np.array([1, 2, 4, 5, 6])
index = np.searchsorted(sorted_arr, 3)
# Находит индекс для вставки элемента 3 в упорядоченный массив.
# 2

np.sort

Сортирует элементы массива.

arr = np.array([5, 2, 8, 1, 7])
sorted_arr = np.sort(arr)
# Сортирует элементы массива в порядке возрастания.
# [1 2 5 7 8]

np.delete

Удаляет элементы из массива.

arr = np.array([1, 2, 3, 4, 5])
new_arr = np.delete(arr, 2)
# Удаляет элемент с индексом 2 из массива.
# [1 2 4 5]

np.insert

Вставляет элемент в массив.

arr = np.array([1, 2, 3, 4, 5])
new_arr = np.insert(arr, 2, 10)
# Вставляет значение 10 на позицию с индексом 2 в массив.
# [ 1  2 10  3  4  5]

np.setdiff1d

Находит разницу между двумя массивами.

arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
diff_arr = np.setdiff1d(arr1, arr2)
# Находит элементы, которые есть в arr1, но отсутствуют в arr2.
# [1 2]

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

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

np.fft.fft

Выполняет быстрое преобразование Фурье (FFT) для заданного сигнала.

signal = np.array([1, 2, 1, -1, 1])
fft_result = np.fft.fft(signal)
# Выполняет FFT для сигнала и возвращает комплексные частоты.
# [ 4. +0.j        0.5+1.53884177j -2.5+1.93649167j -2.5-1.93649167j
# 0.5-1.53884177j]

np.linalg.inv

Вычисляет обратную матрицу.

matrix = np.array([[2, 1], [1, 3]])
inv_matrix = np.linalg.inv(matrix)
# [[ 1.28571429 -0.42857143]
#  [-0.42857143  0.28571429]]

np.linalg.det

Вычисляет определитель матрицы.

matrix = np.array([[2, 1], [1, 3]])
det_value = np.linalg.det(matrix)
# 5.0

np.linalg.eig

Вычисляет собственные значения и собственные векторы матрицы.

matrix = np.array([[2, 1], [1, 3]])
# Вычисляет собственные значения
# [1. 4.]
eigenvalues, eigenvectors = np.linalg.eig(matrix)
# Вычисляет собственные векторы матрицы.
#[[-0.70710678 -0.4472136 ]
# [ 0.70710678 -0.89442719]]

Корреляционные вычисления

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

np.correlate

Вычисляет корреляцию между двумя последовательностями.

signal1 = np.array([1, 2, 3, 2, 1])
signal2 = np.array([1, 0, -1])
correlation_result = np.correlate(signal1, signal2, mode='valid')
# [2]

np.cov

Вычисляет ковариационную матрицу для набора данных.

data = np.array([[1, 2, 3], [2, 3, 4], [3, 4, 5]])
cov_matrix = np.cov(data)
# [[1. 1. 1.]
#  [1. 1. 1.]
#  [1. 1. 1.]]

np.polyfit

Вычисляет коэффициенты полинома, соответствующего заданным данным.

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])
coefficients = np.polyfit(x, y, 1)
# Вычисляет коэффициенты линейной аппроксимации.
# [ 2.  0.]

Дополнительно

В эту группу входят дополнительные команды, которые могут быть полезны в специализированных случаях, такие как работа с отсутствующими или некорректными значениями (NaN), интерполяция данных и другие.

np.interp

Выполняет интерполяцию для заданных данных.

x = np.array([1, 2, 3, 4, 5])
y = np.array([10, 20, 30, 40, 50])
interpolated_value = np.interp(2.5, x, y)
# 25.0

np.nan

Обозначает "Not a Number" (NaN), используется для представления отсутствующих или некорректных значений.

Заключение

Мы достигли конца нашего путешествия по основам NumPy. В этом конспекте мы рассмотрели широкий спектр команд, начиная с базового создания массивов и заканчивая более сложными операциями, такими как линейная алгебра и статистические расчеты. NumPy является неотъемлемым инструментом в арсенале каждого специалиста по данным и программиста, работающего с Python.


Читайте также:

ChatGPT
Eva
💫 Eva assistant