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

NumpyServer Side ProgrammingProgramming

#### Python Data Science basics with Numpy, Pandas and Matplotlib

Most Popular

63 Lectures 6 hours

#### Data Analysis using NumPy and Pandas

19 Lectures 8 hours

#### Numpy with Python

Most Popular

12 Lectures 3 hours

To create a two-dimensional array with the flattened input as a diagonal, use the numpy.diagflat() method in Python Numpy. The first parameter is the input data, which is flattened and set as the kth 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...\n",arr)

Get the datatype −

print("\nArray datatype...\n",arr.dtype)


Get the dimensions of the Array −

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

Get the shape of the Array −

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

Get the number of elements of the Array −

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

To create a two-dimensional array with the flattened input as a diagonal, use the numpy.diagflat() method −

print("\nResult...\n",np.diagflat(arr))


## 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...\n",arr)

# Get the datatype
print("\nArray datatype...\n",arr.dtype)

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

# Get the shape of the Array
print("\nOur Array Shape...\n",arr.shape)

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

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

## Output

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

Array datatype...
int64

Array Dimensions...
2

Our Array Shape...
(2, 2)

Elements in the Array...
4

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