Numpy recarray.clip () function | python

Record arrays allow you to access fields as elements of an array using arr.a and arr.b numpy.recarray.clip () returns an array limited to [min, max] . One of max or min must be specified.

Syntax: numpy.recarray.clip (min = None, max = None, out = None)

Parameters:
min: Minimum value.
 - & gt; If None, clipping is not performed on lower interval edge. Not more than one of a_min and a_max may be None.
max: Maximum value.
 - & gt; If None, clipping is not performed on upper interval edge. Not more than one of a_min and a_max may be None.
 - & gt; If a_min or a_max are array_like, then the three arrays will be broadcasted to match their shapes.
out: Results will be placed in this array. It may be the input array for in-place clipping. out must be of the right shape to hold the output. Its type is preserved.

Return: [clipped_array, ndarray] An array where values ​​less than minimum are replaced with min, and values ​​greater then maximum with max.

Code # 1:

# Python program explaining
# numpy.recarray.clip () 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 int:" , rec_arr.b)

 
# using recarray.clip methods to place an array of records

float_rec_arr = rec_arr.a

print ( "Record array of float:" , float_rec_arr)

out_arr = (rec_arr.a) .clip ( min = - 1.0 , max = 5.0 )

print ( "Output clipped array:" , out_arr) 

 
# applying recarray.clip methods to array of int records

int_rec_arr = rec_arr.b 

print ( "Record array of int:" , int_rec_arr)

out_arr = int_rec_arr.clip ( min = 2 , max = 6 )

print ( "Output clipped array:" , out_arr ) 

Output:

 Input array : [[(5.0, 2) (3.0, -4) (6.0, 9)] [(9.0, 1) (5.0, 4) (-12.0, -7)]] Record array of int: [[2 -4 9] [1 4 -7]] Record array of float: [[5. 3. 6.] [9. 5. -12.]] Output clipped array: [[5. 3. 5.] [5. 5 . -1.]] Record array of int: [[2 -4 9] [1 4 -7]] Output clipped array: [[2 2 6] [2 4 2]] 




Get Solution for free from DataCamp guru