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 или поговорить о жизни в целом.