- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Return specified diagonals and set the offset of the diagonal from the main diagonal in Numpy

To return specified diagonals, use the **ma.MaskedArray.diagonal()** method in Numpy. Set the Offset of the diagonal from the main diagonal. Can be positive or negative.

A masked array is the combination of a standard numpy.ndarray and a mask. A mask is either nomask, indicating that no value of the associated array is invalid, or an array of booleans that determines for each element of the associated array whether the value is valid or not.

## Steps

At first, import the required library −

import numpy as np import numpy.ma as ma

Create an array with int elements using the numpy.array() method −

arr = np.array([[55, 85, 59, 77], [67, 33, 39, 57], [29, 88, 51, 37], [56, 45, 99, 85]]) print("Array...\n", arr) print("\nArray type...\n", arr.dtype)

Get the dimensions of the Array −

print("\nArray Dimensions...\n",arr.ndim)

Create a masked array and mask some of them as invalid −

maskArr = ma.masked_array(arr, mask =[[1, 1, 0, 0], [ 0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]]) print("\nOur Masked Array\n", maskArr) print("\nOur Masked Array type...\n", maskArr.dtype)

Get the dimensions of the Masked Array −

print("\nOur Masked Array Dimensions...\n",maskArr.ndim)

Get the shape of the Masked Array −

print("\nOur Masked Array Shape...\n",maskArr.shape)

Get the number of elements of the Masked Array −

print("\nElements in the Masked Array...\n",maskArr.size)

Return specified diagonals, use the ma.MaskedArray.diagonal() method in Numpy. Set the Offset of the diagonal from the main diagonal. Can be positive or negative. Defaults to main diagonal (0) −

print("\nResult...\n",maskArr.diagonal(2))

## Example

# Python ma.MaskedArray - Return specified diagonals and set the offset of the diagonal from the main diagonal import numpy as np import numpy.ma as ma # Create an array with int elements using the numpy.array() method arr = np.array([[55, 85, 59, 77], [67, 33, 39, 57], [29, 88, 51, 37], [56, 45, 99, 85]]) print("Array...\n", arr) print("\nArray type...\n", arr.dtype) # Get the dimensions of the Array print("\nArray Dimensions...\n",arr.ndim) # Create a masked array and mask some of them as invalid maskArr = ma.masked_array(arr, mask =[[1, 1, 0, 0], [ 0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]]) print("\nOur Masked Array\n", maskArr) print("\nOur Masked Array type...\n", maskArr.dtype) # Get the dimensions of the Masked Array print("\nOur Masked Array Dimensions...\n",maskArr.ndim) # Get the shape of the Masked Array print("\nOur Masked Array Shape...\n",maskArr.shape) # Get the number of elements of the Masked Array print("\nElements in the Masked Array...\n",maskArr.size) # To return specified diagonals, use the ma.MaskedArray.diagonal() method in Numpy # Set the Offset of the diagonal from the main diagonal. Can be positive or negative. # Defaults to main diagonal (0). print("\nResult...\n",maskArr.diagonal(2))

## Output

Array... [[55 85 59 77] [67 33 39 57] [29 88 51 37] [56 45 99 85]] Array type... int64 Array Dimensions... 2 Our Masked Array [[-- -- 59 77] [67 33 -- 57] [29 88 51 --] [56 -- 99 85]] Our Masked Array type... int64 Our Masked Array Dimensions... 2 Our Masked Array Shape... (4, 4) Elements in the Masked Array... 16 Result... [59 57]

- Related Questions & Answers
- Return the Lower triangle of an array and zero the main diagonal as well in Numpy
- Return the Upper triangle of an array and zero the main diagonal as well in Numpy
- Return the Lower triangle of an array and zero elements just below the main diagonal in Numpy
- Return the Upper triangle of an array and zero elements just above the main diagonal in Numpy
- Return the Upper triangle of an array and set the diagonal above to zero elements in Numpy
- Return specified diagonals from a masked array in NumPy
- Return the Lower triangle of an array and set the diagonal above which to zero elements in Numpy
- Create an array with ones above the main diagonal and zeros elsewhere in Numpy
- Create an array with ones below the main diagonal and zeros elsewhere in Numpy
- Return a 2-D array with ones on the diagonal and zeros elsewhere and also set the number of columns in Numpy
- Return the sum along diagonals of the masked array in Numpy
- Return a 2-D array with ones on the diagonal and zeros elsewhere in Numpy
- Create an array with zero above the main diagonal forming a lower triangular matrix in Numpy
- Return a 2-D array with ones on the upper diagonal and zeros elsewhere in Numpy
- Return a 2-D array with ones on the lower diagonal and zeros elsewhere in Numpy