# numpy.diag() in Python

• Last Updated : 09 Mar, 2022

numpy.diag(a, k=0) : Extracts and construct a diagonal array
Parameters :

```a : array_like
k : [int, optional, 0 by default]
Diagonal we require; k>0 means diagonal above main diagonal or vice versa.```

Returns :

`ndarray`

## Python

 `# Python Programming illustrating``# numpy.diag method`` ` `import` `numpy as geek`` ` `# matrix creation by array input``a ``=` `geek.matrix([[``1``, ``21``, ``30``], ``                 ``[``63` `,``434``, ``3``], ``                 ``[``54``, ``54``, ``56``]])`` ` `print``(``"Main Diagonal elements : \n"``, geek.diag(a), ``"\n"``)`` ` `print``(``"Diagonal above main diagonal : \n"``, geek.diag(a, ``1``), ``"\n"``)`` ` `print``(``"Diagonal below main diagonal : \n"``, geek.diag(a, ``-``1``))`

Output :

```Main Diagonal elements :
[  1 434  56]

Diagonal above main diagonal :
[21  3]

Diagonal below main diagonal :
[63 54]```

References :
https://docs.scipy.org/doc/numpy/reference/generated/numpy.diagflat.html#numpy.diagflat
Note :
These NumPy-Python programs won’t run on online IDE’s, so run them on your systems to explore them

This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.