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()
import numpy as np
# Original array
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
import numpy as np
# Original array
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
import numpy as np
# Original array
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