Памятка NumPy
Итак, вам нужен быстрый взгляд на NumPy, который поможет вам работать на практике? Эта статья как раз то, что вам нужно!

Начиная
NumPy — это пакет научных вычислений на Python. Он поставляется с предопределенными функциями для линейной алгебры, преобразования Фурье и матриц. NumPy обычно используется для приложений Data Science.
Чтобы начать работу, сначала убедитесь, что в вашей системе установлены Python и NumPy. Как вы его получите, зависит от вашей системы и выбранной вами IDE, но я рекомендую Anaconda. При базовой установке Anaconda вы можете просто зайти в терминал и запустить «conda install numpy» и вуаля!
Теперь давайте создадим файл example.py для начала работы.
Примечание. Если бы мы создавали проект вместо одного файла примера для работы, нам пришлось бы просто создать каталог и файл __init__.py внутри него.
Вы должны добавить следующую строку в начало файла, чтобы иметь возможность работать с NumPy в файле.
импортировать numpy как np
Примечание. Обычно мы импортируем его как np, чтобы нам не приходилось вводить numpy каждый раз, когда мы вызываем функцию из NumPy. Имейте в виду, что хотя np можно изменить, это общее соглашение.
После этого вы можете запустить код в файле примера, просто зайдя в терминал и выполнив команду:
пример питона.py
Список против массива
Мы собираемся часто использовать массивы с нашими операциями NumPy, поэтому лучше уточнить одну вещь: списки и массивы в Python разные.
С помощью массивов вы можете объявлять многомерные структуры, такие как матрицы, и выполнять внутри них числовые операции, но это не относится к простым старым спискам. Следовательно, NumPy сильно зависит от массивов.
Списки могут быть присвоены значению без объявления, но массивы не могут. Итак, чтобы определить массив, вы должны сделать следующее:
exampleArray = np.arrray([10, 15, 20]) // одномерный массив
Или вы можете определить многомерный массив как:
exampleArray2 = np.array([10, 15, 20], [50, 100, 150], [1, 2, 3])
Вы можете вызывать элементы в массиве как:
exampleArray2 [1] // возвращает [50, 100, 150]
exampleArray2 [1] [0]// возвращает 50
Методы
Ниже вы найдете самые основные функции, которые обычно используются при работе с NumPy. Хотя их гораздо больше, для начала будет достаточно следующего.
Методы создания массива
- np.arange(0, 10): создает одномерный массив с числами от 0 до 9 в качестве элементов.
- np.arange(0, 10, 3): создает одномерный массив с числами от 0 до 10, переходящими к каждой третьей. Возвращает массив с элементами 0,3,6,9.
- np.zeros(3): создает массив из 3 элементов со значением 0 для каждого элемента.
- np.ones(3): создает массив из 3 элементов со значением 1 для каждого элемента.
- np.linspace(0,20,5): принимает 5 чисел от 0 до 20 с равными шагами между ними. Возвращает массив элементов 0, 5, 10, 15, 20. Имейте в виду, что если мы сказали выбрать 6 элементов, элементы будут плавающими, а не мешающими, чтобы обеспечить равное расстояние между ними.
- np.eye(3): создает идентификационную матрицу с 3 столбцами и 3 строками. Диагональные значения возвращают все 1, а все остальные значения возвращают 0.
- np.random.randn(5): создает одномерный массив с 5 случайными числами в качестве элементов. Числа могут быть целыми и/или плавающими, отрицательными и/или положительными.
- np.random.randn(5,5): создает матрицу с 5 строками и 5 столбцами с 25 случайными значениями в качестве элементов.
- np.random.randint(1, 10, 2): возвращает два случайных числа больше 1 и меньше 10.
- myArray.reshape(5,5): принимает одномерный массив с именем myArray и возвращает его в виде матрицы с 5 строками и 5 столбцами. Имейте в виду, что если в массиве недостаточно элементов, в примере 5 x 5 = 25 элементов, это вызовет ошибку и не сработает. Этот метод не изменит сам массив, а просто вернет измененную версию массива.
- myArray.max(): возвращает наибольшее число в элементах числового массива.
- myArray.min(): возвращает наименьшее число в элементах числового массива.
- myArray.argmax(): возвращает индекс наибольшего числа в элементах числового массива.
- myArray.argmin(): возвращает индекс наименьшего числа в элементах числового массива.
- myArray.shape: возвращает форму массива. Если массив одномерный с 10 элементами, он вернет (10, ). Если массив представляет собой матрицу, состоящую из 5 столбцов и 6 строк, он вернет (5,6). Имейте в виду, что это не функция, а атрибут, поэтому при вызове формы нет скобок.
- myArray[5]: возвращает элемент из массива с порядковым номером 5.
- myArray[3:5]: возвращает элементы между порядковыми номерами 3 и 5, включая элемент с порядковым номером 3, но не включая 5.
- myArray[3:5] = -3: изменяет значение элементов между индексами 3 и пять на -3.
- myArray[:] = 30: изменяет значение всех элементов массива на 30 по одному.
- myArray = 30: изменяет тип myArray с массива на целочисленный и устанавливает его значение равным 30.
- newArray = myArray.copy(): создает копию myArray и устанавливает для нее значение newArray. Обратите внимание, что если бы вы не использовали метод .copy(), вы бы увидели, что все изменения, внесенные вами в newArray, также отразятся на myArray.
Объявим матрицу как myMatrix = ([5, 10, 15], [1, 2, 3], [0, 0, 0]).
- myMatrix[0]: возвращает элемент с индексом строки 0, который является массивом. Поэтому возвращает [5, 10, 15].
- myMatrix[0] [1]: возвращает элемент с индексом столбца 1 и индексом строки 0, поэтому в этом случае возвращается значение 10.
- myMatrix[0,1]: возвращает элемент с индексом столбца 1 и индексом строки 0, поэтому в этом случае возвращается значение 10.
- myMatrix[1, 1:]: Берет строку с индексом 1, как обычно, но возвращает элементы с индексами столбцов, начинающимися с 1 (включая 1, поскольку соединение всегда работает с Python), поэтому в этом случае возвращается [2, 3].
- myMatrix[[0,1]]: возвращает значение индексов 0 и 1, поэтому в нашем случае возвращается ([5, 10, 15], [1, 2, 3]).
Давайте определим массив myArray для работы как myArray = [ 5,10,15,20]
- myArray > 10: Возвращает массив истинных и ложных судя по условию, поэтому в нашем случае возвращает [ложь, ложь, истина, истина]. Обратите внимание, что tihs не изменяет исходное значение myArray, а вместо этого создает новый awway.
- myArray [myArray > 10]: возвращает новый массив с элементами, которые фактически соответствуют условию [15, 20].
- myArray + myArray: возвращает массив, в котором значения суммируются индекс за индексом и помещаются в соответствующий индекс, в нашем случае возвращается [10, 20, 30, 40].
- myArray — myArray: возвращает массив, в котором значения вычитаются индекс за индексом и помещаются в соответствующий индекс, в нашем случае возвращает [0, 0, 0, 0].
- myArray/myArray: возвращает массив, в котором значения делятся индекс за индексом и помещаются в соответствующий индекс, в нашем случае возвращается [1,1,1,1]. Обратите внимание, что если в каком-либо индексе в качестве значения был 0, поскольку число не может быть разделено на 0, это выдаст предупреждение и вернет nan для этого индекса, но разделит другие индексы, как обычно.
- np.sqrt(myArray): возвращает массив с квадратным корнем, если каждое значение находится в одном и том же индексе. Итак, если бы myArray был [25, 16, 36], функция вернула бы [ 5, 4, 6].