numpy.ptp() in Python
numpy.ptp()function plays an important role in statistics by finding out Range of given numbers. Range = max value – min value.
Syntax : ndarray.ptp(arr, axis=None, out=None)
Parameters :
arr :input array.
axis :axis along which we want the range value. Otherwise, it will consider arr to be flattened(works on all the axis). axis = 0 means along the column and axis = 1 means working along the row.
out : [ndarray, optional]Different array in which we want to place the result. The array must have same dimensions as expected output.
Return : Range of the array (a scalar value if axis is none) or array with range of values along specified axis.
Code #1: Working
Python
# Python Program illustrating # numpy.ptp() method import numpy as np # 1D array arr = [ 1 , 2 , 7 , 20 , np.nan] print ( "arr : " , arr) print ( "Range of arr : " , np.ptp(arr)) # 1D array arr = [ 1 , 2 , 7 , 10 , 16 ] print ( "arr : " , arr) print ( "Range of arr : " , np.ptp(arr)) |
Output :
arr : [1, 2, 7, 20, nan] Range of arr : nan arr : [1, 2, 7, 10, 16] Range of arr : 15
Code #2 :
Python
# Python Program illustrating # numpy.ptp() method import numpy as np # 3D array arr = [[ 14 , 17 , 12 , 33 , 44 ], [ 15 , 6 , 27 , 8 , 19 ], [ 23 , 2 , 54 , 1 , 4 ,]] print ( "\narr : \n" , arr) # Range of the flattened array print ( "\nRange of arr, axis = None : " , np.ptp(arr)) # Range along the first axis # axis 0 means vertical print ( "Range of arr, axis = 0 : " , np.ptp(arr, axis = 0 )) # Range along the second axis # axis 1 means horizontal print ( "Min of arr, axis = 1 : " , np.ptp(arr, axis = 1 )) |
Output :
arr : [[14, 17, 12, 33, 44], [15, 6, 27, 8, 19], [23, 2, 54, 1, 4]] Range of arr, axis = None : 53 Range of arr, axis = 0 : [ 9 15 42 32 40] Min of arr, axis = 1 : [32 21 53]
Code #3 :
Python
# Python Program illustrating # numpy.ptp() method import numpy as np arr1 = np.arange( 5 ) print ( "\nInitial arr1 : " , arr1) # using out parameter np.ptp(arr, axis = 0 , out = arr1) print ( "Changed arr1(having results) : " , arr1) |
Output :
Initial arr1 : [0 1 2 3 4] Changed arr1(having results) : [ 9 15 42 32 40]