Рубрики
Без рубрики

Учебник по массиву Python NumPy

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

Автор оригинала: LikeGeeks.

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

NumPy предоставляет объект многомерного массива и другие производные массивы, такие как массивы с масками или многомерные массивы с масками.

Зачем использовать NumPy

Модуль NumPy предоставляет объект ndarray, с помощью которого мы можем выполнять операции с массивом любого измерения. ndarray означает N-мерный массив, где N-любое число. Это означает, что массив NumPy может быть любым измерением.

NumPy имеет ряд преимуществ перед списками Python . Мы можем выполнять высокопроизводительные операции с массивами NumPy, такие как:

  1. Сортировка элементов массива
  2. Математические и логические операции
  3. Функции ввода/вывода
  4. Операции статистической и линейной алгебры

Как установить 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-это ворота в искусственный интеллект.