NumPy-это библиотека/модуль Python, который используется для научных расчетов в программировании на Python . В этом руководстве вы узнаете, как выполнять множество операций с массивами NumPy, таких как добавление, удаление, сортировка и манипулирование элементами различными способами.
NumPy предоставляет объект многомерного массива и другие производные массивы, такие как массивы с масками или многомерные массивы с масками.
Зачем использовать NumPy
Модуль NumPy предоставляет объект ndarray, с помощью которого мы можем выполнять операции с массивом любого измерения. ndarray означает N-мерный массив, где N-любое число. Это означает, что массив NumPy может быть любым измерением.
NumPy имеет ряд преимуществ перед списками Python . Мы можем выполнять высокопроизводительные операции с массивами NumPy, такие как:
- Сортировка элементов массива
- Математические и логические операции
- Функции ввода/вывода
- Операции статистической и линейной алгебры
Как установить NumPy?
Чтобы установить NumPy, вам нужны Python и Pip в вашей системе.
Выполните следующую команду в операционной системе Windows:
pip install numpy
Теперь вы можете импортировать NumPy в свой скрипт следующим образом:
import numpy
Добавить элемент массива
Вы можете добавить элемент массива NumPy с помощью метода append() модуля NumPy.
Синтаксис добавления выглядит следующим образом:
numpy.append(array, value, axis)
Значения будут добавлены в конце массива, и новый ndarray будет возвращен с новыми и старыми значениями, как показано выше.
Ось – это необязательное целое число, вдоль которого определяется, как будет отображаться массив. Если ось не указана, структура массива будет сглажена, как вы увидите позже.
Рассмотрим следующий пример, где сначала объявляется массив, а затем мы использовали метод append для добавления дополнительных значений в массив:
a = numpy.array([1, 2, 3]) newArray = numpy.append (a, [10, 11, 12])
Добавить столбец
Мы можем использовать метод append() NumPy для вставки столбца.
Рассмотрим пример ниже, где мы создали 2-мерный массив и вставили два столбца:
a = numpy.array([[1, 2, 3], [4, 5, 6]]) b = numpy.array([[400], [800]]) newArray = numpy.append(a, b, axis = 1)
Если атрибут оси не используется, вывод будет выглядеть следующим образом:
Именно так структура массива выравнивается.
В NumPy мы также можем использовать метод insert() для вставки элемента или столбца. Разница между методом insert() и методом append() заключается в том, что мы можем указать, по какому индексу мы хотим добавить элемент при использовании метода insert (), но метод append() добавляет значение в конец массива.
Рассмотрим пример ниже:
a = numpy.array([1, 2, 3]) newArray = numpy.insert(a, 1, 90)
Здесь метод insert() добавляет элемент с индексом 1. Помните, что индекс массива начинается с 0.
Добавить строку
В этом разделе мы будем использовать метод append() для добавления строки в массив. Это так же просто, как добавить элемент в массив. Рассмотрим следующий пример:
a = numpy.array([[1, 2, 3], [4, 5, 6]]) newArray = numpy.append(a, [[50, 60, 70]], axis = 0)
Удалить элемент
Вы можете удалить элемент массива NumPy с помощью метода delete() модуля NumPy:
Это показано в приведенном ниже примере:
a.массив([1, 2, 3])
новый массив.удалить(a, 1,)
Результат выглядит следующим образом:
В приведенном выше примере мы имеем одномерный массив. Метод delete() удаляет элемент с индексом 1 из массива.
Удалить строку
Аналогично, вы можете удалить строку с помощью метода delete ().
Рассмотрим следующий пример, в котором мы удалили строку из 2-мерного массива:
a = numpy.array([[1, 2, 3], [4, 5, 6], [10, 20, 30]]) newArray = numpy.delete(a, 1, axis = 0)
В методе delete() сначала указывается массив, а затем индекс элемента, который вы хотите удалить. В приведенном выше примере мы удалили второй элемент, который имеет индекс 1.
Проверьте, пуст ли массив NumPy
Мы можем использовать метод size, который возвращает общее количество элементов в массиве.
В следующем примере у нас есть оператор if, который проверяет наличие элементов в массиве с помощью ndarray.size, где ndarray-это любой заданный массив NumPy:
импорт numpy
a.массив([1, 2, 3])
если(a.размер):
print("The given Array is empty")
ещё:
print("The array = ", a)
Результат выглядит следующим образом:
В приведенном выше коде есть три элемента, поэтому он не пуст, и условие вернет false.
Если элементов нет, условие if станет истинным, и оно напечатает пустое сообщение.
Если наш массив равен:
a.массив([])
Вывод приведенного выше кода будет выглядеть следующим образом:
Найдите индекс значения
Чтобы найти индекс значения, мы можем использовать метод where() модуля NumPy, как показано в примере ниже:
import numpy a = numpy.array([1, 2, 3, 4, 5]) print("5 is found at index: ", numpy.where(a == 5))
Метод where() также вернет тип данных. Если вы хотите просто получить индекс, используйте следующий код:
import numpy a = numpy.array([1, 2, 3, 4, 5]) index = numpy.where(a == 5) print("5 is found at index: ", index[0])
Нарезка массива NumPy
Нарезка массива-это процесс извлечения подмножества из данного массива. Вы можете разрезать массив с помощью оператора двоеточия ( и указать начало и конец индекса массива, например:
array[from:to]
Это подчеркивается в приведенном ниже примере:
import numpy a = numpy.array([1, 2, 3, 4, 5, 6, 7, 8]) print("A subset of array a = ", a[2:5])
Здесь мы извлекли элементы, начиная с индекса 2 до индекса 5. Выход будет:
Если мы хотим извлечь последние три элемента. Мы можем сделать это, используя отрицательное срезание следующим образом:
import numpy a = numpy.array([1, 2, 3, 4, 5, 6, 7, 8]) print("A subset of array a = ", a[-3:])
Применить функцию ко всем элементам массива
В следующем примере мы создадим лямбда-функцию, в которой мы передадим наш массив, чтобы применить его ко всем элементам:
import numpy addition = lambda x: x + 2 a = numpy.array([1, 2, 3, 4, 5, 6]) print("Array after addition function: ", addition(a))
В этом примере создается лямбда-функция, которая увеличивает каждый элемент на два.
Длина массива NumPy
Чтобы получить длину массива NumPy, можно использовать атрибут size модуля NumPy, как показано в следующем примере:
import numpy a = numpy.array([1, 2, 3, 4, 5, 6]) print("The size of array = ", a.size)
Создать массив NumPy из списка
Списки в Python – это ряд элементов, заключенных в квадратные скобки.
Предположим, у вас есть список, как:
l = [1, 2, 3, 4, 5]
Теперь, чтобы создать массив из этого списка, мы будем использовать метод array() модуля NumPy:
import numpy l = [1, 2, 3, 4, 5] a = numpy.array(l) print("The NumPy array from Python list = ", a)
Аналогично, используя метод array (), мы можем создать массив NumPy из кортежа. Кортеж содержит ряд элементов, заключенных в круглые скобки следующим образом:
import numpy t = (1, 2, 3, 4, 5) a = numpy.array(t) print("The NumPy array from Python Tuple = ", a)
Преобразование массива NumPy в список
Чтобы преобразовать массив в список, мы можем использовать метод tolist() модуля NumPy.
Рассмотрим приведенный ниже код:
import numpy a = numpy.array([1, 2, 3, 4, 5]) print("Array to list = ", a.tolist())
В этом коде мы просто вызвали метод tolist (), который преобразует массив в список. Затем мы распечатываем вновь созданный список на экране вывода.
Массив NumPy в CSV
Чтобы экспортировать массив в CSV-файл, мы можем использовать метод savetext() модуля NumPy, как показано в примере ниже:
import numpy a = numpy.array([1, 2, 3, 4, 5]) numpy.savetxt("myArray.csv", a)
Этот код создаст CSV-файл в том месте, где хранится наш файл кода Python. Вы также можете указать путь. При запуске скрипта файл будет сгенерирован следующим образом:
Содержимое этого файла будет выглядеть следующим образом:
Вы можете удалить дополнительное заполнение нуля, как это:
numpy.savetxt("myArray.csv", a,fmt='%.2f')
Сортировка массива NumPy
Вы можете отсортировать массив NumPy с помощью метода sort() модуля NumPy:
Функция sort() принимает необязательную ось (целое число), которая по умолчанию равна -1. Ось указывает, по какой оси мы хотим отсортировать массив. -1 означает, что массив будет отсортирован в соответствии с последней осью.
Рассмотрим пример ниже:
import numpy a = numpy.array([16, 3, 2, 6, 8, 10, 1]) print("Sorted array = ", numpy.sort(a))
В этом примере мы вызвали метод sort() в инструкции print. Массив “a” передается в функцию сортировки. Результат этого будет следующим:
Нормализовать массив
Нормализация массива-это процесс приведения значений массива в некоторый определенный диапазон. Например, мы можем сказать, что хотим нормализовать массив между -1 и 1 и так далее.
Формула нормализации выглядит следующим образом:
x = (x – xmin) / (xmax – xmin)
Теперь мы просто применим эту формулу к нашему массиву, чтобы нормализовать его. Чтобы найти максимальный и минимальный элементы в массиве, мы будем использовать методы max() и min() NumPy соответственно.
import numpy x= numpy.array([400, 800, 200, 700, 1000, 2000, 300]) xmax = x.max() xmin = x.min() x = (x - xmin)/(xmax - xmin) print("After normalization array x = \n", x)
Индексирование массива
Индексирование означает ссылку на элемент массива. В следующих примерах мы также использовали индексацию в одномерных и двумерных массивах:
import numpy a = numpy.array([20, 13, 42, 86, 81, 9, 11]) print("Element at index 3 = ", a[3])
Теперь индексирование с помощью 2-мерного массива:
import numpy a = numpy.array([[20, 13, 42], [86, 81, 9]]) print("Element at index a[1][2] = ", a[1][2])
Индекс [1][2] означает вторую строку и третий столбец (поскольку индексация начинается с 0). Таким образом, у нас есть 9 на выходном экране.
Добавьте массив NumPy в другой
Вы можете добавить массив NumPy в другой массив NumPy с помощью метода append ().
Рассмотрим следующий пример:
import numpy a = numpy.array([1, 2, 3, 4, 5]) b = numpy.array([10, 20, 30, 40, 50]) newArray = numpy.append(a, b) print("The new array = ", newArray)
В этом примере создается массив NumPy “a”, а затем создается другой массив с именем “b”. Затем мы использовали метод append() и передали два массива. Поскольку массив “b” передается в качестве второго аргумента, он добавляется в конце массива “a”.
Как мы видели, работа с массивами NumPy очень проста. Массивы NumPy очень важны при работе с большинством библиотек машинного обучения. Итак, мы можем сказать, что NumPy-это ворота в искусственный интеллект.