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

Понимание функции Numpy mgrid() в Python

Эта статья дает вам представление об использовании функции numpy mgrid() в python и ее примерах для лучшего понимания.

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

Понимание функции Numpy mgrid() в Python

В этой статье мы обсудим функцию numpy mgrid() в python, предоставляемую библиотекой Numpy. Функция grid () помогает получить плотную многомерную “сетку”. Экземпляр numpy.lib.index_tricks.nd_grid возвращает плотную сетку-сетку при индексации. Каждый возвращаемый аргумент имеет одинаковую форму. Более того, число и размерность выходных массивов равны числу измерений индексации.

Numpy Mgrid-это специальный тип массива numpy, который создает 2d-массив с аналогичными значениями. Этот метод вызывает метод meshgrid для инициализации плотных многомерных массивов. Кроме того, mgrid также принимает комплексные числа в качестве параметра.

Синтаксис функции Numpy mgrid():

Сеточная функция принимает индексы и измерения в качестве инициализирующих параметров.

numpy.mgrid = 

Возвращаемое значение:

Сетка сетки многомерных массивов все одного размера и размерности.

Примеры для разных размеров шага

Пример 1: Для натурального не комплексного числа –

import numpy as np.mgrid[0:4, 0:4]
print(a)

Выход:

array([[[0, 0, 0, 0],
        [1, 1, 1, 1],
        [2, 2, 2, 2],
        [3, 3, 3, 3]],

       [[0, 1, 2, 3],
        [0, 1, 2, 3],
        [0, 1, 2, 3],
        [0, 1, 2, 3]]])

Пример 2: Для комплексного числа –

import numpy as np.mgrid[-2:2:4j]
print(a)

Выход:

array([-2.0, -0.66666667, 0.66666667,  2.0])

Объяснение:

На приведенных выше примерах мы видим, как функция Numpy mgrid() используется для получения ndarrays. “Массивы” имеют одно и то же измерение. Стоп – значение не является включающим. Если длина шага не является комплексным числом. Однако если длина шага является комплексным числом (например, 4j). Затем интерпретируется целая часть его величины. И количество точек, которые нужно создать между началом и остановкой. В этом случае стоп-значение является включительным.

Функция Numpy mgrid() v/s meshgrid() в Python

Numpy mgrid() конкретизирует заданные индексы, транслируя их в виде плотных сеток. Одновременно функция meshgrid() полезна для создания массивов координат. Векторизация оценок функций по сетке. Функция Meshgrid() вдохновлена MATLAB. Кроме того, meshgrid() создает прямоугольную сетку из двух заданных одномерных массивов, представляющих декартовы индексы.

Пример функции Numpy meshgrid ():

import numpy as np 
.linspace(-4, 4, 9) 
  
# numpy.linspace creates an array of 9 linearly placed elements between -4 and 4, both inclusive  
.linspace(-5, 5, 11) 
  
x_1,.meshgrid(x, y) 
  y_1 = ") 
print(y_1)

Выход:

x_1 = 
[[-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]
 [-4. -3. -2. -1.  0.  1.  2.  3.  4.]]
y_1 = 
[[-5. -5. -5. -5. -5. -5. -5. -5. -5.]
 [-4. -4. -4. -4. -4. -4. -4. -4. -4.]
 [-3. -3. -3. -3. -3. -3. -3. -3. -3.]
 [-2. -2. -2. -2. -2. -2. -2. -2. -2.]
 [-1. -1. -1. -1. -1. -1. -1. -1. -1.]
 [ 0.  0.  0.  0.  0.  0.  0.  0.  0.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 2.  2.  2.  2.  2.  2.  2.  2.  2.]
 [ 3.  3.  3.  3.  3.  3.  3.  3.  3.]
 [ 4.  4.  4.  4.  4.  4.  4.  4.  4.]
 [ 5.  5.  5.  5.  5.  5.  5.  5.  5.]]

Функция Numpy mgrid() v/s ogrid() в Python

В отличие от функции mgrid (), которая преобразует индексы в плотные сетки одинаковых размеров, Ogrid расшифровывается как “открытая сетка”.”Это в основном обеспечивает способ воздействия на определенные пиксели изображения на основе их индекса строк и столбцов.

Основной пример Numpy ogrid():

from numpy import ogrid
.ogrid[0:11, 0:6]

print(x)

print(y)

Выход:

array([[0],
       [1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8],
       [9],
       [10]])

array([[0, 1, 2, 3, 4, 5]])

Numpy mgrid() с помощью функции vstack() в Python

Во-первых, функция stack() может быть использована для реализации функции grid() в Python. Функция vstack() складывает последовательность входных массивов вертикально, образуя единый массив. Кроме того, сложенный массив аналогичен плотным сеткам, сформированным в функции grid (). Единственная точка различия между grid() и stack заключается в их входных значениях. Функция grid() возвращает плотные сетки на основе значений входного индекса . В то время как vstack просто складывает входные массивы в один массив.

Пример Numpy vstack():

import numpy as np 
   .array([[ 1, 2, 3], [ -1, -2, -3]] ) 
print ("1st Input array : \n", in_a1)  
  .array([[ 4, 5, 6], [ -4, -5, -6]] ) 
print ("2nd Input array : \n", in_a2)  
  
# Stacking the two arrays vertically .vstack((in_arr1, in_arr2)) 
print ("Output stacked array :\n ", out_arr)

Выход:

1st Input array : 
 [[ 1  2  3]
  [-1 -2 -3]]
2nd Input array : 
 [[ 4  5  6]
  [-4 -5 -6]]
Output stacked array :
  [[ 1  2  3]
   [-1 -2 -3]
   [ 4  5  6]
   [-4 -5 -6]]

Функция Numpy linspace() для реализации функции grid()

Функция numpy.linspace() возвращает числовые пространства равномерно относительно интервала. Кроме того, мы можем реализовать функцию grid() с помощью linspace (), поскольку она возвращает выходной массив точно так же, как и функция m grid (). Однако для получения информации о количестве выборок требуются интервалы, в отличие от размера шага, как в случае grid().

Пример numpy.linspace():

import numpy as np 
  
# restep set to True 
print("A\n", np.linspace(2.0, 3.0,,), "\n")

Выход:

[ 0.          0.22039774  0.42995636  0.6183698   0.77637192  0.8961922
  0.9719379   0.99988386  0.9786557   0.90929743]

Что Дальше?

NumPy является мощным и невероятно важным для информатики в Python. Это верно, если вы интересуетесь наукой о данных в Python. В результате вы действительно должны узнать больше о Python.

Возможно, вам понравятся наши следующие учебники по numpy.

  • Numpy Mean: Реализация и важность
  • Использование функции Numpy Random для создания случайных данных
  • NumPy Reshape: Изменение Формы Массивов С Легкостью
  • Углубленное объяснение np.power() С Примерами

Вывод

Мы уже обсуждали использование функции numpy mgrid (). А также различные способы его реализации. Существуют очень тонкие различия между функциями Numpy mgrid(), mesh grid () и grid (), которые также освещаются в этой статье. Функция linspace() используется для реализации функции grid() в python до некоторой степени. Это также обсуждалось с примерами. Я надеюсь, что вы найдете эту статью полезной при реализации функции Numpy mgrid() в ваших программах python.

Если у вас все еще есть какие-либо вопросы относительно функции NumPy multiply. Оставьте свой вопрос в комментариях ниже.

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