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

Numpy diag() | Как использовать функцию np.diag в Python

Функция diag() используется для извлечения диагонали многомерного массива и построения диагонального массива с помощью библиотеки numpy.

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

В python мы видели много функций или методов библиотеки numpy. В этом уроке мы познакомимся с функцией numpy diag (). Когда мы попадаем в ситуацию, когда нам нужно вычислить диагональ, выведите диагональ массива матриц. Мы увидим все способы, с помощью которых мы можем вывести значения диагонали через функцию numpy diag ().

Что такое функция Numpy Diag ()?

Функция diag() используется для извлечения и построения диагонального 2-d массива с помощью библиотеки numpy. Он содержит два параметра: входной массив и k, который определяет диагональ, то есть главную диагональ, нижнюю диагональ или верхнюю диагональ. Это библиотечная функция numpy, которая используется для выполнения математических и статистических операций над многомерным массивом.

Синтаксис

numpy.diag(arr,k=0) 

Параметры

  • arr : Это входной массив. Если это 2-D массив, он возвращает копию своей k -й диагонали. Если это 1-D массив, то он возвращает 2-D массив с arr на k-й диагонали.
  • k: Это целочисленное значение и необязательный вход. Если k>0, то диагональ выше главной диагонали, а если k<0, то диагональ ниже главной диагонали. По умолчанию он равен 0.

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

Он возвращает извлеченную диагональ или построенную диагональ.

Примеры функции numpy diag()

Давайте разберемся в функции numpy diag () модуля numpy подробнее с помощью примеров:

1. Нахождение диагонали без параметра k

В этом примере мы создадим многомерный массив( матрицу ) с помощью numpy, а затем применим функцию numpy diag() без передачи параметра k. По умолчанию он установлен в 0 и также называется главной диагональю. Давайте рассмотрим этот пример для более детального понимания концепции.

#import numpy library
import numpy as np

a = np.matrix([[1, 2, 3], [4, 5, 6], [9, 8, 7]])

print("Main diagonal : ",np.diag(a))

Выход:

Main diagonal :  [1 5 7]

Объяснение:

  • Во-первых, мы будем импортировать библиотеку numpy с псевдонимом np.
  • Затем мы возьмем входные данные для создания многомерного массива.
  • После этого мы применим numpy diag() без значения параметра k. По умолчанию он установлен в 0.
  • Наконец, мы напечатали главную диагональ многомерного массива.
  • Следовательно, вы можете видеть результат.

2. Печать верхней диагонали главной диагонали

В этом примере мы будем печатать верхнюю диагональ главной диагонали в многомерном массиве. В этом случае мы передадим параметр k с положительным значением k, чтобы получить верхнюю диагональ. Применяя функцию numpy diag (), мы напечатаем верхнюю диагональ. Давайте рассмотрим этот пример для более детального понимания концепции.

#import numpy library
import numpy as np

a = np.matrix([[1, 2, 3], [4, 5, 6], [9, 8, 7]])

print(a)
print("Main diagonal : ",np.diag(a,1))

Выход:

[[1 2 3]
 [4 5 6]
 [9 8 7]]
Main diagonal :  [2 6]

Объяснение:

  • Во-первых, мы будем импортировать библиотеку numpy с псевдонимом np.
  • Затем мы возьмем входные данные для создания многомерного массива.
  • После этого мы применим numpy diag() со значением параметра k, равным 1.
  • Для верхней диагонали нам нужно поставить значение k как положительное и больше 0.
  • Наконец, мы напечатали верхнюю диагональ главной диагонали многомерного массива.
  • Следовательно, вы можете видеть результат.

3. Печать нижней диагонали главной диагонали

В этом примере мы будем печатать нижнюю диагональ главной диагонали в многомерном массиве. В этом случае мы передадим параметр k с отрицательным значением k, чтобы получить нижнюю диагональ. Применяя функцию numpy diag (), мы напечатаем нижнюю диагональ. Давайте рассмотрим этот пример для более детального понимания концепции.

#import numpy library
import numpy as np

a = np.matrix([[1, 2, 3], [4, 5, 6], [9, 8, 7]])

print(a)
print("Main diagonal : ",np.diag(a,-1))

Выход:

[[1 2 3]
 [4 5 6]
 [9 8 7]]
Main diagonal :  [4 8]

Объяснение:

  • Во-первых, мы будем импортировать библиотеку numpy с псевдонимом np.
  • Затем мы возьмем входные данные для создания многомерного массива.
  • После этого мы применим numpy diag() со значением параметра k, равным 1.
  • Для нижней диагонали нам нужно поставить значение k как отрицательное и меньшее 0.
  • Наконец, мы напечатали нижнюю диагональ главной диагонали многомерного массива . Следовательно, вы можете видеть результат.

4. Использование функции диапазона для создания массива и последующего построения диагонали

В этом примере мы будем импортировать библиотеку numpy. Затем мы будем использовать arange() из numpy для создания многомерного массива. После этого мы напечатаем главную диагональ созданного массива. Давайте рассмотрим этот пример для более детального понимания концепции.

#import numpy library
import numpy as np

x = np.arange(9).reshape((3,3))

print(x)
print("Main diagonal : ",np.diag(x))

Выход:

[[0 1 2]
 [3 4 5]
 [6 7 8]]
Main diagonal :  [0 4 8]

Объяснение:

  • Во-первых, мы будем импортировать библиотеку numpy с псевдонимом np.
  • Затем мы применим функцию np.arange() из библиотеки numpy для создания многомерного массива.
  • После этого мы напечатали сформированную матрицу.
  • Наконец, мы применили функцию diag() и напечатали диагональ массива.
  • Следовательно, вы можете видеть результат.

5. Построение диагонали из массива

В этом примере мы будем импортировать библиотеку numpy. Затем мы передадим значения массива в функцию numpy array (). Наконец, мы применим функцию numpy diag для создания диагонали значений, передаваемых внутри массива. Это позволит построить диагональный массив. Давайте рассмотрим этот пример для более детального понимания концепции.

#importing numpy library
import numpy as np

a = np.array([5, 6, 7, 8])

print(a)
print("Diagonal : ",np.diag(a))

Выход:

[5 6 7 8]
Diagonal : 
  [[5 0 0 0]
 [0 6 0 0]
 [0 0 7 0]
 [0 0 0 8]]

Объяснение:

  • Во-первых, мы будем импортировать библиотеку numpy с псевдонимом np.
  • Затем мы создали массив с помощью библиотеки numpy.
  • После этого мы напечатали массив, который взяли в качестве входных данных.
  • Наконец, мы применили функцию numpy diag() для построения диагонали для значений массива и печати выходных данных.
  • Следовательно, вы можете видеть результат.

Что такое numpy diagonal() 3-D массива?

Функция numpy diagonal() используется для извлечения и построения диагонали 2-d и 3-d массивов с помощью библиотеки numpy.

Давайте возьмем пример и подробно разберемся в этом понятии.

#import numpy library
import numpy as np

a = np.arange(8).reshape(2,2,2);
print(a)
print("\n")
print(" diagonal output : ",a.diagonal(0,0,1))

Выход:

[[[0 1]
  [2 3]]

 [[4 5]
  [6 7]]]


diagonal output :  [[0 6]
 [1 7]]

Объяснение:

  • Во-первых, мы будем импортировать библиотеку numpy с псевдонимом np.
  • Затем мы применим функцию np.arange() из библиотеки numpy для создания трехмерного многомерного массива.
  • Затем мы напечатаем 3-d массив.
  • После этого мы применим функцию diagonal() со всеми параметрами и выведем вывод.
  • Следовательно, вы можете видеть результат.

Разница между numpy diag() и numpy diagonal() ?

Numpy diag()

Функция diag() используется для извлечения и построения диагонального 2-d массива с помощью библиотеки numpy.

Numpy диагональ()

Функция diagonal() используется для извлечения и построения диагонали 2-d и 3-d массивов с помощью библиотеки numpy.

Пример numpy diag() и numpy diagonal()

В этом примере мы объясним примеры функции numpy diag (), работающей на 2-d массиве, и функции numpy diagonal (), работающей как на 2-d, так и на 3-d массивах. Мы поймем разницу между ними более эффективным способом с помощью этого примера.

#import numpy library
import numpy as np

x = np.arange(9).reshape((3,3))

print(x)
print("\n")
print("2-d Main diagonal : ",np.diag(x))
print("\n")

#numpy diagonal() example
import numpy as np

#2-d array
x = np.arange(9).reshape((3,3))
print("2-d Main diagonal : ",np.diagonal(x))

#3-d array
a = np.arange(8).reshape(2,2,2);
print(a)
print("\n")
print(" 3-d diagonal output : ",a.diagonal(0,0,1))

Выход:

[[0 1 2]
 [3 4 5]
 [6 7 8]]


2-d Main diagonal :  [0 4 8]


2-d Main diagonal :  [0 4 8]
[[[0 1]
  [2 3]]

 [[4 5]
  [6 7]]]


 3-d diagonal output :  [[0 6]
 [1 7]]

Объяснение:

  • Во-первых, мы будем импортировать библиотеку numpy с псевдонимом np.
  • Затем мы применим функцию np.arange() из библиотеки numpy для создания 2-d многомерного массива.
  • После этого мы напечатали сформированную матрицу.
  • Наконец, мы применили функцию diag() и напечатали диагональ массива.
  • Следовательно, вы можете видеть результат.

Вывод

В этом уроке мы познакомились с концепцией функции numpy diagonal (). Мы видели, как вывести диагональ многомерного массива, а также построить многомерную диагональ. У нас есть все способы, с помощью которых мы можем это сделать, и все примеры подробно объясняются для лучшего понимания концепции. Вы можете использовать любой из методов в соответствии с вашими потребностями в программе.

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