Все в Numpy

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

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

Массивы лежат в основе NumPy. Создать массивы в NumPy очень просто, и есть несколько способов сделать это. Наиболее распространенным способом создания массивов является использование функции `array()`, которая принимает список или кортеж и возвращает массив. Например, чтобы создать одномерный массив из трех элементов, вы можете использовать следующий код:

import numpy as np
my_array = np.array([1, 2, 3])

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

my_2d_array = np.array([[1, 2], [3, 4], [5, 6]])

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

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

- np.add(): добавляет два массива поэлементно

- np.subtract(): вычитает два массива поэлементно

- np.multiply(): умножает два массива поэлементно

- np.divide(): делит два массива поэлементно

Вот пример использования функции add() для добавления двух массивов:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.add(a, b)
print(c)
# output:
[5, 7, 9]

Операции с массивами

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

- np.reshape(): преобразует массив в новую форму.

- np.concatenate(): объединяет два или более массивов.

- np.transpose(): транспонирует массив

Вот пример того, как использовать функцию `reshape()` для изменения формы массива:

a = np.array([1, 2, 3, 4, 5, 6])
b = np.reshape(a, (2, 3))
print(b)
# output:
[[1, 2, 3],
[4, 5, 6]]

Вот пример использования функции concatenate() для объединения двух массивов:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.concatenate((a, b))
print(c)
# output:
[1, 2, 3, 4, 5, 6]

Вот пример того, как использовать функцию `transpose()` для транспонирования массива:

a = np.array([[1, 2], [3, 4], [5, 6]])
b = np.transpose(a)
print(b)
# output:
[[1, 3, 5],
[2, 4, 6]]

Установить операции

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

- np.union1d(): создает массив уникальных элементов в двух массивах.

- np.intersect1d(): находит пересечение двух массивов.

Вот пример обоих

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

print(np.union1d(a, b))
# output:
[0, 1, 2, 3, 4]

print(np.intersect1d(a, b))
# output:
[1]

Создание рассылки

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

- np.random.normal(): создает нормальное распределение на основе мю (среднее значение) и сигма (дисперсия)

- np.random.uniform(): создает равномерное распределение

- np.random.binomial: создает биномиальное распределение на основе n (испытаний) и p (вероятность).

Вот пример использования функции normal() для создания нормального распределения с использованием массива:

import numpy as np
import matplotlib.pyplot as plt
mu, sigma = 0, 0.1 #mean and variance
z = np.random.normal(mu, sigma, 100000)
plt.hist(z)
plt.show()

Вот пример того, как использовать функцию `uniform()` для создания равномерного распределения с использованием массива:

z = np.random.uniform(0, 10, 100000)
plt.hist(z)
plt.show()

Вот пример того, как использовать функцию `binomial()` для создания биномиального распределения с использованием массива:

n, p = 10, 0.5
z = np.random.binomial(n, p, 1000000)
plt.hist(z)
plt.show()

Заключение

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

Не забудьте подписаться на нашу рассылку, чтобы быть в курсе последних новостей и обновлений инструментов и методов обработки данных!