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

Ось Numpy в Python С подробными Примерами

Эта статья дает очень краткое представление о реализации оси numpy в программах python и частном случае оси numpy для 1D массивов.

Автор оригинала: Team Python Pool.

Ось Numpy в Python С подробными Примерами

Здравствуйте программисты, в сегодняшней статье мы обсудим и объясним ось Numpy в python. Понять использование осей в массиве Numpy не очень просто. Но давайте начнем с этого. Ось Numpy очень похожа на оси в декартовой системе координат. Прежде чем мы начнем с того, как Numpy axes, позвольте мне немного подробнее познакомить вас с концепцией Numpy axis.

Ось Numpy-это тип направления, через которое начинается итерация. Каждая операция в numpy имеет определенный итерационный процесс, через который она проходит. Кроме того, существует два типа итерационного процесса: порядок столбцов и порядок Фортрана. Порядок столбцов помогает через ось столбцов, а порядок Fortran помогает через ось строк.

Направления оси Numpy

Ось 0 (Направление вдоль строк) – Ось 0 называется первой осью массива Numpy. Эта ось 0 проходит вертикально вниз вдоль строк многомерных массивов Numpy, то есть выполняет операции по столбцам.

Ось 1 (Направление вместе со столбцами ) – Ось 1 называется второй осью многомерных массивов Numpy. В результате ось 1 суммируется по горизонтали вместе со столбцами массивов. Он выполняет операции по строкам.

ПРИМЕЧАНИЕ: Приведенное выше описание оси Numpy предназначено только для 2D-и многомерных массивов. Он работает по-другому для 1D-массивов, обсуждаемых далее в этой статье.

Способы реализации оси Numpy в Python

  • Строки и столбцы для массива Numpy.
  • Ось Numpy для суммы.
  • Ось Numpy для конкатенации.
  • ID Array Numpy axis.

Строки и столбцы для массива Numpy

ПРИМЕР:

From numpy import asarray
data = [[1,2,3], [4,5,6]]
# convert to a numpy array(data)

# step through rows
for row in range(data.shape[0]):
	print(data[row, :])

#step through columns
for col in range(data.shape[1]):
	print(data[:, col])

ВЫХОД:

[1 2 3]
[4 5 6]

[1 4]
[2 5]
[3 6]

ОБЪЯСНЕНИЕ:

В приведенном выше примере мы перечисляем данные каждой строки и столбца. Другими словами, мы достигаем этого, получая доступ к ним через их индекс. Данные[0, 0] дают значение в первой строке и первом столбце. Кроме того, data[0,:] дает значения в первой строке и во всех столбцах, например, полную первую строку в нашей матрице. Аналогично, data[:, 0] обращается ко всем строкам первого столбца. Прежде всего, при печати строк массива ось Numpy устанавливается в 0, то есть data.shape[0]. Аналогично, ось Numpy устанавливается в 1 при перечислении столбцов.

Ось Numpy в Python для Sum

Когда мы используем функцию numpy sum() для 2-d массива с параметром axis, она сворачивает 2-d массив до 1-d массива. Он сворачивает данные и уменьшает количество измерений. Но какая ось свернется, чтобы вернуть сумму, зависит от того, установим ли мы ось в 0 или 1. Давайте рассмотрим следующие примеры для лучшего понимания.

Numpy sum с осью 0

import numpy as np

#creating Numpy Array.arange(0, 6).reshape([2,3])

print(np_array_2d)
.sum(np_array_2d,)
print(a)

Выход:

[[0 1 2]
 [3 4 5]]

array([3, 5, 7])

Объяснение:

В приведенном выше примере мы создаем массив размера(2,3), то есть две строки и три столбца. Когда ось установлена на 0. Сразу же функция фактически суммирует столбцы. В результате получается новый массив NumPy, содержащий сумму каждого столбца. Как обсуждалось ранее, ось 0-это направление вдоль строк, но выполняет операции по столбцам. Ось, установленная в 0, относится к агрегированию данных. Поэтому мы сворачиваем строки и выполняем операцию суммирования по столбцам. Таким образом, параметр оси функции sum() представляет, какая ось должна быть свернута.

Numpy Sum С Осью 1

import numpy as np

#creating Numpy Array.arange(0, 6).reshape([2,3])

print(np_array_2d)
.sum(np_array_2d,)
print(a)

Выход:

array([3, 12])

Объяснение:

Как мы знаем, ось 1, согласно конвенции оси. Например, это относится к направлению вдоль столбцов, выполняющих операции над строками. Для функции sum (). Параметр axis-это ось, которая должна быть свернута. Отсюда и в приведенном выше примере. Например, ось установлена на 1 в функции sum (), которая сворачивает столбцы и суммирует строки.

Ось Numpy для конкатенации двух массивов

Параметр axis, который мы используем с функцией numpy concatenate (), определяет ось, вдоль которой мы складываем массивы. Мы получаем различные типы сцепленных массивов в зависимости от того, установлено ли значение параметра оси равным 0 или 1. Кроме того, чтобы иметь более четкое представление о том, что говорится, обратитесь к приведенным ниже примерам.

Конкатенация Np массивов с осью 0

import numpy as np

#arrays defined.array([[1,1,1],[1,1,1]]).array([[2,2,2],[2,2,2]])

print(np_array_1)
print(np_array_2)
.concatenate([np_array_1, np_array_2],)

print(a)

Выход:

array([[1, 1, 1],
       [1, 1, 1]])

array([[2, 2, 2],
       [2, 2, 2]])

array([[1, 1, 1],
       [1, 1, 1],
       [2, 2, 2],
       [2, 2, 2]])

Объяснение:

Как уже упоминалось, параметр axis в функции ‘concatenate()’ подразумевает укладку массивов. Поэтому, когда мы устанавливаем ось в 0, функция concatenate складывает два массива вдоль строк. Мы указываем, что хотим конкатенации массивов. Конкатенация выполняется вдоль оси 0, то есть вдоль направления строк. Таким образом, мы получаем результат в виде сложенного массива. И два составных массива вдоль рядов.

Конкатенация массивов Numpy с осью 1

import numpy as np

#arrays defined.array([[1,1,1],[1,1,1]]).array([[2,2,2],[2,2,2]])

print(np_array_1)
print(np_array_2)
.concatenate([np_array_1, np_array_2],)

print(a)

Выход:

array([[1, 1, 1],
       [1, 1, 1]])

array([[2, 2, 2],
       [2, 2, 2]])

array([[1, 1, 1, 2, 2, 2],
       [1, 1, 1, 2, 2, 2]])

Объяснение:

В приведенном выше примере параметр axis имеет значение 1. Например, мы знаем, что ось 1 определяет направление вместе со столбцами. Прежде всего это подразумевает функцию numpy concatenate() для объединения двух входных данных href=”https://en.wikipedia.org/wiki/Array_data_structure”>массивы. После этого конкатенация выполняется горизонтально вместе со столбцами. href=”https://en.wikipedia.org/wiki/Array_data_structure”>массивы. После этого конкатенация выполняется горизонтально вместе со столбцами.

1D Массив NP Axis в Python – Особый случай

Оси numpy работают по-разному для одномерных массивов. Большая часть обсуждения, которое мы провели в этой статье, относится к двумерным массивам с двумя осями- строками и столбцами. Массивы 1D отличаются тем, что они имеют только одну ось. Оси Numpy нумеруются так же, как индексы Python, то есть они начинаются с 0. Поэтому в массиве 1D первой и единственной осью является ось 0. Если мы зададим параметр axis как 1 при работе с 1D массивами. Кроме того, он возвращает ошибку.

Оси numpy работают по-разному для одномерных массивов. Большая часть обсуждения, которое мы провели в этой статье, относится к двумерным массивам с двумя осями- строками и столбцами. Массивы 1D отличаются тем, что они имеют только одну ось. Оси Numpy нумеруются так же, как индексы Python, то есть они начинаются с 0. Поэтому в массиве 1D первой и единственной осью является ось 0. Если мы зададим параметр axis как 1 при работе с 1D массивами. Кроме того, он возвращает ошибку.

import numpy as np

#arrays defined.array([1,1,1]).array([[2,2,2])

print(np_array_1)
print(np_array_2)
.concatenate([np_array_1, np_array_2],)
.concatenate([np_array_1, np_array_2],)


print(a)

print(b)

Выход:

[1 1 1]

[2 2 2]

array([1, 1, 1, 2, 2, 2])

IndexError: axis 1 out of bounds [0, 1)

Объяснение:

Как уже упоминалось выше, 1-мерные массивы имеют только одну ось – ось 0. Функция работает правильно, когда параметр оси установлен в 1. Он печатает “а” как комбинированный 1D-массив из двух входных 1D-массивов. В 1D массивах ось 0 не указывает вдоль строк “вниз”, как это происходит в 2-мерном массиве. Однако, когда параметр axis установлен в 1, он не может напечатать “b”. В заключение он поднял indexerror, заявив, что ось 1 находится за пределами границ для одномерных массивов.

Вывод

В заключение можно сказать, что в этой статье мы очень подробно рассмотрели Numpy axes в python. Ось Numpy в python используется для реализации различных операций по строкам и столбцам. Такие операции, как numpy sum (), np mean() и concatenate (), достигаются путем передачи осей numpy в качестве параметров. Мы также можем перечислять данные массивов по их строкам и столбцам с помощью оси numpy. Также выделен частный случай оси для одномерных массивов. Это необходимо иметь в виду при реализации программ на python.

Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Счастливого Пифонирования!