In NumPy, we can compute the mean, standard deviation, and variance of a given array along the second axis by two approaches first is by using inbuilt functions and second is by the formulas of the mean, standard deviation, and variance.
Method 1: Using numpy.mean(), numpy.std(), numpy.var()
Python
import numpy as np
array = np.arange( 10 )
print (array)
r1 = np.mean(array)
print ( "\nMean: " , r1)
r2 = np.std(array)
print ( "\nstd: " , r2)
r3 = np.var(array)
print ( "\nvariance: " , r3)
|
Output:
[0 1 2 3 4 5 6 7 8 9]
Mean: 4.5
std: 2.8722813232690143
variance: 8.25
Method 2: Using the formulas
Python3
import numpy as np
array = np.arange( 10 )
print (array)
r1 = np.average(array)
print ( "\nMean: " , r1)
r2 = np.sqrt(np.mean((array - np.mean(array)) * * 2 ))
print ( "\nstd: " , r2)
r3 = np.mean((array - np.mean(array)) * * 2 )
print ( "\nvariance: " , r3)
|
Output:
[0 1 2 3 4 5 6 7 8 9]
Mean: 4.5
std: 2.8722813232690143
variance: 8.25
Example: Comparing both inbuilt methods and formulas
Python
import numpy as np
x = np.arange( 5 )
print (x)
r11 = np.mean(x)
r12 = np.average(x)
print ( "\nMean: " , r11, r12)
r21 = np.std(x)
r22 = np.sqrt(np.mean((x - np.mean(x)) * * 2 ))
print ( "\nstd: " , r21, r22)
r31 = np.var(x)
r32 = np.mean((x - np.mean(x)) * * 2 )
print ( "\nvariance: " , r31, r32)
|
Output:
[0 1 2 3 4]
Mean: 2.0 2.0
std: 1.4142135623730951 1.4142135623730951
variance: 2.0 2.0