# Create a two-dimensional array with the flattened input as lower diagonal in Numpy

To create a two-dimensional array with the flattened input as a diagonal, use the numpy.diagflat() method in Python Numpy. The 'K parameter is used to set the diagonal; 0, the default, corresponds to the “main” diagonal, a negative k giving the number of the diagonal below the main.

The first parameter is the input data, which is flattened and set as the k-th diagonal of the output. The second parameter is the diagonal to set; 0, the default, corresponds to the “main” diagonal, a positive (negative) k giving the number of the diagonal above (below) the main.

NumPy offers comprehensive mathematical functions, random number generators, linear algebra routines, Fourier transforms, and more. It supports a wide range of hardware and computing platforms, and plays well with distributed, GPU, and sparse array libraries.

## Steps

At first, import the required library −

import numpy as np

Create a 2D array using the numpy.array() method −

arr = np.array([[5, 10], [15, 20]])

Displaying our array −

print("Array...",arr)

Get the datatype −

print("Array datatype...",arr.dtype)


Get the dimensions of the Array −

print("Array Dimensions...",arr.ndim)

Get the shape of the Array −

print("Our Array Shape...",arr.shape)

Get the number of elements of the Array −

print("Elements in the Array...",arr.size)

Now, create a two-dimensional array with the flattened input as a diagonal using the numpy.diagflat() method. The 'K parameter is used to set the diagonal; 0, the default, corresponds to the “main” diagonal, a negative k giving the number of the diagonal below the main −

print("Result...",np.diagflat(arr, k = -1))


## Example

import numpy as np

# Create a 2D array using the numpy.array() method
arr = np.array([[5, 10], [15, 20]])

# Displaying our array
print("Array...",arr)

# Get the datatype
print("Array datatype...",arr.dtype)

# Get the dimensions of the Array
print("Array Dimensions...",arr.ndim)

# Get the shape of the Array
print("Our Array Shape...",arr.shape)

# Get the number of elements of the Array
print("Elements in the Array...",arr.size)

# To create a two-dimensional array with the flattened input as a diagonal, use the numpy.diagflat() method in Python Numpy
print("Result...",np.diagflat(arr, k = -1))

## Output

Array...
[[ 5 10]
[15 20]]

Array datatype...
int64

Array Dimensions...
2

Our Array Shape...
(2, 2)

Elements in the Array...
4

Result...
[[ 0 0 0 0 0]
[ 5 0 0 0 0]
[ 0 10 0 0 0]
[ 0 0 15 0 0]
[ 0 0 0 20 0]]

Updated on: 16-Feb-2022

66 Views

Get certified by completing the course