NumPy необходим для науки о данных.

NumPy — мощная библиотека для научных вычислений на Python. Предоставляет инструменты для работы с массивами и матрицами числовых данных и выполнения над ними математических операций.

Если вы новичок в Python, прочитайте о том, почему вам следует изучать Python:
https://medium.com/@nmh.workspace/5-reasons-why-python-is-a-must-have-for -все-данные-ученые-8862698b1171

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

Содержание

  • Установка и настройка
  • Массивы
  • Индексирование и нарезка
  • Изменение формы
  • Транспонирование
  • Элементарные операции
  • Линейная алгебра
  • Функции агрегации
  • Маскировка

Монтаж

Чтобы использовать NumPy, вам сначала нужно установить его.

Самый простой способ сделать это — использовать pip, менеджер пакетов Python. Откройте терминал и введите следующую команду:

pip install numpy

Это установит NumPy и все его зависимости.

Импорт NumPy

После установки NumPy вы можете импортировать его в свой код Python с помощью оператора import.

По соглашению NumPy обычно импортируется с псевдонимом np, например:

import numpy as np

Это позволяет вам использовать сокращенное имя np при обращении к функциям и объектам NumPy в вашем коде. Обычно это псевдоним, который повсеместно используется учеными по данным.

Массивы NumPy

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

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

a = np.array([1, 2, 3])  # creates a 1-dimensional array
print(a)  # prints [1 2 3]

Вы также можете создать многомерный массив, предоставив вложенную последовательность или итерацию. Например:

b = np.array([[1, 2, 3], [4, 5, 6]])  # creates a 2-dimensional array
print(b)  # prints [[1 2 3]
           #        [4 5 6]]

Массивы NumPy имеют несколько важных свойств, таких как атрибуты shape, dtype и ndim.

Атрибут shape задает размер массива по каждому измерению, атрибут dtype задает тип данных элементов массива, а атрибут ndim задает количество измерений массива.

Например:

print(a.shape)  # prints (3,) for a 1-dimensional array with 3 elements
print(b.shape)  # prints (2, 3) for a 2-dimensional array with 2 rows and 3 columns
print(a.dtype)  # prints int64 (the default data type for NumPy arrays is int64)
print(b.dtype)  # also prints int64
print(a.ndim)   # prints 1
print(b.ndim)   # prints 2

Вы также можете создать массив определенной формы и типа данных, используя функции zeros, ones и empty. Эти функции возвращают новый массив, заполненный нулями, единицами или неинициализированными (случайными) значениями соответственно. Например:

c = np.zeros((3, 4))  # creates a 3x4 array of zeros
d = np.ones((2, 2))   # creates a 2x2 array of ones
e = np.empty((2, 3))  # creates a 2x

Индексирование и нарезка

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

a = np.array([1, 2, 3, 4, 5, 6])
print(a[2])  # prints 3

b = np.array([[1, 2, 3], [4, 5, 6]])
print(b[1, 2])  # prints 6

Вы также можете разрезать массив NumPy, чтобы извлечь подмассив. Например:

print(a[2:5])  # prints [3 4 5]
print(b[:, 1])  # prints [2 5] (all rows, second column)
print(b[1, :])  # prints [4 5 6] (second row, all columns)

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

Вы можете изменить форму массива NumPy, используя метод reshape. Например:

a = np.array([1, 2, 3, 4, 5, 6])
b = a.reshape((2, 3))  # reshapes a into a 2x3 array
print(b)  # prints [[1 2 3]
           #          [4 5 6]]

Транспонирование

Вы можете транспонировать массив NumPy, используя атрибут T или функцию transpose. Это меняет местами строки и столбцы массива. Например:

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

b = a.T  # transposes a

print(b)  # prints [[1 3]
           #          [2 4]]

c = np.transpose(a)  # equivalent to b = a.T

print(c)  # prints [[1 3]
           #          [2 4]]

Поэлементные операции

Вы можете выполнять поэлементные арифметические операции с массивами NumPy, используя стандартные арифметические операторы (+, -, *, / и т. д.). Например:

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = a + b  # element-wise addition
print(c)  # prints [5 7 9]

d = a * 2  # element-wise multiplication by a scalar
print(d)  # prints [2 4 6]

e = a / b  # element-wise division
print(e)  # prints [0.25 0.4 0.5]

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

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

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

c = np.dot(a, b)  # matrix multiplication
print(c)  # prints [[19 22]
           #          [43 50]]


d = np.linalg.inv(a)  # matrix inverse
print(d)  # prints [[-2.   1. ]
           #          [ 1.5

Агрегирующие функции

NumPy предоставляет ряд функций для агрегирования (обобщения) значений в массиве. Например:

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

print(np.sum(a))  # prints 15 (sum of all values)
print(np.mean(a))  # prints 3.0 (mean of all values)
print(np.std(a))   # prints 1.5811388300841898 (standard deviation of all values)
print(np.min(a))   # prints 1 (minimum value)
print(np.max(a))   # prints 5 (maximum value)

Вы также можете указать аргумент axis для выполнения агрегирования по определенному измерению массива. Например:

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

print(np.sum(b, axis=0))  # prints [5 7 9] (sum of each column)
print(np.mean(b, axis=1)) # prints [2. 5.] (mean of each row)

Маскировка

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

a = np.array([1, 2, 3, 4, 5, 6])
mask = a > 3  # creates a mask that selects elements greater than 3
print(mask)  # prints [False False False  True  True  True]

b = a[mask]  # applies the mask and selects the matching elements
print(b)  # prints [4 5 6]

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