Учебник по массиву Python NumPy | Кодементор

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 для вставки столбца.

Рассмотрим пример ниже, где мы создали двумерный массив и вставили два столбца:

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

b = numpy.array([[400], [800]])

newArray = numpy.append(a, b, axis = 1)

Если атрибут оси не используется, вывод будет выглядеть следующим образом:

Вот как сглаживается структура массива.

В NumPy мы также можем использовать метод insert() для вставки элемента или столбца. Разница между методом вставки() и методом append() заключается в том, что мы можем указать, по какому индексу мы хотим добавить элемент при использовании метода вставки(), но метод 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:

Это продемонстрировано в примере ниже:

а = numpy.массив ([1, 2, 3])

новый массив = numpy.delete (а, 1, ось = 0)

Результат выглядит следующим образом:

В приведенном выше примере у нас есть одномерный массив. Метод delete() удаляет элемент с индексом 1 из массива.

Удалить строку

Точно так же вы можете удалить строку, используя метод delete().

Рассмотрим следующий пример, где мы удалили строку из двумерного массива:

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

а = numpy.массив ([1, 2, 3])

если (a.size == 0):

print("The given Array is empty")

еще:

print("The array = ", a)

Результат выглядит следующим образом:

В приведенном выше коде есть три элемента, поэтому он не пустой, и условие вернет false.

Если элементов нет, условие if станет истинным и будет напечатано пустое сообщение.

Если наш массив равен:

а = numpy.массив ([])

Вывод приведенного выше кода будет следующим:

Найти индекс значения

Чтобы найти индекс значения, мы можем использовать метод 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, вы можете использовать атрибут размера модуля 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
 
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, мы можем использовать метод savetxt() модуля 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() в операторе печати. Массив «а» передается в функцию сортировки. Результат этого будет следующим:

Нормализация массива

Нормализация массива — это процесс приведения значений массива к определенному диапазону. Например, мы можем сказать, что хотим нормализовать массив между -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])

Теперь индексируем двумерным массивом:

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *