Numpy recarray.trace () function | python

Record arrays allow you to access fields as elements of an array using arr.a and arr.b numpy.recarray.trace () is used to return the sum along the diagonal of an array.

Syntax: numpy.recarray.trace (offset = 0, axis1 = 0, axis2 = 1, dtype = None, out = None)

Parameters:
offset: [int, optional] Offset of the diagonal from the main diagonal. Can be both positive and negative. Defaults to 0.
axis1: [int, optional] Axes to be used as the first and second axis of the 2-D sub-arrays from which the diagonals should be taken.
axis2: [int, optional] Axes to be used as the first and second axis of the 2-D sub-arrays from which the diagonals should be taken.
dtype : [optional] Determines the data-type of the returned array.
out: [ndarray, optional] A location into which the result is stored.
 – & gt; If provided, it must have a shape that the inputs broadcast to.
 – & gt; If not provided or None, a freshly-allocated array is returned.

Return: [ndarray] sum of a diagonal elements of the record array.

Code # 1:

# Python program explaining
# numpy.recarray.trace () method

 
# import numy as geek

import numpy as geek

 
# create an input array with two different fields

in_arr = geek.array ([[( 5.0 , 2 ), ( 3.0 , - 4 ), ( 6.0 , 9 )],

[( 9.0 , 1 ), ( 5.0 , 4 ), ( - 12.0 , - 7 )]],

dtype = [( `a` , float ), ( ` b` , int )])

 

print ( "Input array:" , in_arr)

 
# convert it to an array of posts,
# using arr.view (np.recarray)

rec_arr = in_arr.view (geek.recarray)

print ( "Record array of float:" , rec_arr.a)

print ( "Record array of int:" , rec_arr.b)

  
# using recarray.trace methods
# float array of records

out_arr = rec_arr.a.trace ( )

print ( "Output float traced array: " , out_arr) 

  
# applying recarray.trace methods
# into an array of int records

out_arr = rec_arr.b.trace ()

print ( " Output int traced array: " , out_arr) 

Output:

 Input array: [[(5., 2) (3., -4) (6., 9)] [(9., 1) (5., 4) (-12., -7)]] Record array of float: [[5. 3. 6. ] [9. 5. -12.]] Record array of int: [[2 -4 9] [1 4 -7]] Output float traced array: 10.0 Output int traced array: 6