scipy.stats.signaltonoise(arr, axis=0, ddof=0) function computes the signal-to-noise ratio of the input data.
Its formula :
Parameters :
arr : [array_like]Input array or object having the elements to calculate the signal-to-noise ratio
axis : Axis along which the mean is to be computed. By default axis = 0.
ddof : Degree of freedom correction for Standard Deviation.Results : mean to standard deviation ratio i.e. signal-to-noise ratio.
Code #1: Working
# stats.signaltonoise() method import numpy as np from scipy import stats arr1 = [[ 20 , 2 , 7 , 1 , 34 ], [ 50 , 12 , 12 , 34 , 4 ]] arr2 = [ 50 , 12 , 12 , 34 , 4 ] print ( "\narr1 : " , arr1) print ( "\narr2 : " , arr2) print ( "\nsignaltonoise ratio for arr1 : " , stats.signaltonoise(arr1, axis = 0 , ddof = 0 )) print ( "\nsignaltonoise ratio for arr1 : " , stats.signaltonoise(arr1, axis = 1 , ddof = 0 )) print ( "\nsignaltonoise ratio for arr1 : " , stats.signaltonoise(arr2, axis = 0 , ddof = 0 )) |
Output :
arr1 : [[20, 2, 7, 1, 34], [50, 12, 12, 34, 4]]
arr2 : [50, 12, 12, 34, 4]
signaltonoise ratio for arr1 : [2.33333333 1.4 3.8 1.06060606 1.26666667]
signaltonoise ratio for arr1 : [1.01779811 1.31482934]
signaltonoise ratio for arr2 : 1.3148293369202024
Code #2 : How to implement
def signaltonoise(a, axis, ddof): a = np.asanyarray(a) m = a.mean(axis) sd = a.std(axis = axis, ddof = ddof) return np.where(sd = = 0 , 0 , m / sd) print ( "\nsignaltonoise ratio for arr1 : " , signaltonoise(arr1, axis = 0 , ddof = 0 )) print ( "\nsignaltonoise ratio for arr1 : " , signaltonoise(arr1, axis = 1 , ddof = 0 )) print ( "\nsignaltonoise ratio for arr2 : " , signaltonoise(arr2, axis = 0 , ddof = 0 )) |
Output :
signaltonoise ratio for arr1 : [2.33333333 1.4 3.8 1.06060606 1.26666667]
signaltonoise ratio for arr1 : [1.01779811 1.31482934]
signaltonoise ratio for arr2 : 1.3148293369202024
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.