Return the Upper triangle of an array and zero the main diagonal as well in Numpy

NumpyServer Side ProgrammingProgramming

To return the upper triangle of an array, use the numpy.triu() method in Python Numpy −

  • The 1st parameter is the input array
  • The 2nd parameter is the 'k' i.e. the diagonal above which to zero elements.

Here, k = 0 (the default) is the main diagonal, k < 0 is below it and k > 0 is above.' Array. The k = 1 value is to zero the main diagonal as well. The function returns a copy of an array with the elements below the k-th diagonal zeroed. For arrays with ndim exceeding 2, triu will apply to the final two axes.

Steps

At first, import the required library −

import numpy as np

Create a 2d array −

arr = np.array([[36, 36, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69 ], [69, 80, 80, 99]])

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)

Return the upper triangle of an array, use the numpy.triu() method in Python Numpy. The 2nd parameter is the 'k' i.e. the diagonal above which to zero elements −

print("\nResult...\n",np.triu(arr, k = 1))

Example

import numpy as np

# Create a 2d array
arr = np.array([[36, 36, 78, 88], [92, 81, 98, 45], [22, 67, 54, 69], [69, 80, 80, 99]])

# 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 return the upper triangle of an array, use the numpy.triu() method in Python Numpy
# The 1st parameter is the input array
# The 2nd parameter is the 'k' i.e. the diagonal above which to zero elements.
# k = 0 (the default) is the main diagonal, k < 0 is below it and k > 0 is above.' array
# The k = 1 value is to zero the main diagonal as well
print("\nResult...\n",np.triu(arr, k = 1))

Output

Array...
[[36 36 78 88]
[92 81 98 45]
[22 67 54 69]
[69 80 80 99]]

Array datatype...
int64

Array Dimensions...
2

Our Array Shape...
(4, 4)

Elements in the Array...
16

Result...
[[ 0 36 78 88]
[ 0 0 98 45]
[ 0 0 0 69]
[ 0 0 0 0]]
raja
Updated on 17-Feb-2022 09:38:53

Advertisements