In this tutorial, We will learn how to find the standard deviation of the numpy array. we can find the standard deviation of the numpy array using numpy.std() function. we will learn the calculation of this in a deep, thorough explanation of every part of the code with examples.
What is Numpy Standard Deviation?
Numpy is a toolkit that helps us in working with numeric data. It contains a set of tools for creating a data structure called a Numpy array. It is basically a row and column grid of numbers.
Standard Deviation: A standard deviation is a statistic that measures the amount of variation in a dataset relative to its mean and is calculated as the square root of the variance. It is calculated by determining each data point’s deviation relative to the mean.
Where,
- SD = standard Deviation
- x = Each value of array
- u = total mean
- N = numbers of values
The numpy module in python provides various functions in which one is numpy.std(). It is used to compute the standard deviation along the specified axis. This function returns the standard deviation of the numpy array elements. The square root of the average square deviation (known as variance) is called the standard deviation.
Standard Deviation = sqrt(mean(abs(x-x.mean( ))**2
Syntax of Numpy Standard Deviation
numpy.std(a, axis=None, dtype=None, out=None, ddof=0, keepdims=<class numpy._globals._NoValue>)
Parameters of Numpy Standard Deviation
- a: array_like – this parameter is used to calculate the standard deviation of the array elements.
- axis: None, int, or tuple of ints – It is optional to calculate the standard deviation. In this, we define the axis along which the standard deviation is calculated. By default, it calculates the standard deviation of the flattened array. If we have a tuple of ints, a standard deviation is performed over multiple axes, instead of a single axis or all the axes as before.
- dtype: data_type – It is also optional in the calculation of standard deviation. By default, the data type is float64 for integer type arrays, and the float type array will be just the same as the array type.
- out: ndarray – It is also optional in the calculation of standard deviation. This parameter is used as the alternative output array in which the result is to be placed. It must have the same shape as the expected output, but we can typecast if necessary.
- ddof: int – It is also optional in the calculation of standard deviation. This defines the delta degree of freedom. The divisor which is used in calculations is N-ddof, where N represents the no. of elements. By default, ddof is zero.
- keepdims: bool – It is optional. When the value is true, it will leave the reduced axis as dimensions with size one in the resultant. When the default value is passed, it will allow the non-default values to pass via the mean method of sub-classes of ndarray, but the keepdims will not pass.
Returns
It will return the new array that contains the standard deviation. If the ‘out’ parameter is not set to ‘None,’ then it will return the output array’s reference.
Examples of Numpy Standard Deviation
1. Numpy.std() – 1D array
import numpy as np
Arr = np.array([2, 1, 7])
result = np.std(Arr)
print("arr : ",Arr)
print("SD : ",result)
Output:
arr : [2 1 7]
SD : 2.6246692913372702
Explanation:
Here firstly, we have imported numpy with alias name as np. Secondly, We have created an array ‘arr’ via array() function. Thirdly, We have declared the variable ‘result’ and assigned the std() function’s returned value. We have passed the array ‘arr‘ in the function. Lastly, we have printed the value of the result.
2. Numpy.std() using dtype=float32
import numpy as np
Arr = [8,9,8,2,8,2]
result = np.std(Arr)
print("Arr : ", Arr)
print("SD: ", result)
print ("More precision value with float32")
print("SD: ", np.std(Arr, dtype = np.float32))
Output:
Arr : [8, 9, 8, 2, 8, 2]
SD: 2.9674156357941426
More precision value with float32
SD: 2.9674158
Explanation:
Here firstly, we have imported numpy with alias name as np. Secondly, We have created an array ‘arr’ via array() function. Thirdly, We have declared the variable ‘result’ and assigned the std() function’s returned value. We have passed the array ‘arr’ in the function. Fourthly, we have printed the value of the result. Then we have used the type parameter for the more precise value of standard deviation, which is set to dtype = np.float32. And lastly, we have printed the output.
3. Numpy.std() using dtype=float64
import numpy as np
Arr = [8,9,8,2,8,2]
result = np.std(Arr)
print("Arr : ", Arr)
print("SD: ", result)
print ("More accurate value with float64")
print("SD: ", np.std(Arr, dtype = np.float64))
Output:
Arr : [8, 9, 8, 2, 8, 2]
SD: 2.9674156357941426
More accurate value with float64
SD: 2.9674156357941426
Explanation:
Here firstly, we have imported numpy with alias name as np. Secondly, We have created an array ‘arr’ via array() function. Thirdly, We have declared the variable ‘result’ and assigned the std() function’s returned value. We have passed the array ‘arr’ in the function. Fourthly, we have printed the value of the result. Then we have used the type parameter for the more accurate value of standard deviation, which is set to dtype = np.float64. And lastly, we have printed the output.
4. Numpy.std() – 2D Array
import numpy as np
arr = np.array([[2,4,6,8],[2,6,9,7]])
print("Array : ",arr)
result = np.std(arr)
print("SD : ",result)
Output:
Array : [[2 4 6 8]
[2 6 9 7]]
SD : 2.449489742783178
Explanation:
Here firstly, we have imported numpy with alias name as np. Secondly, We have created a 2D-array ‘arr’ via array() function. Thirdly, We have declared the variable ‘result’ and assigned the std() function’s returned value. We have passed the array ‘arr’ in the function. Lastly, we have printed the value of the result.
5. Using axis=0 on 2D-array to find Numpy Standard Deviation
import numpy as np
arr = np.array([[2,4,6,8],[2,6,9,7]])
print("Array : ",arr)
result = np.std(arr, axis=0)
print("SD : ",result)
Output:
Array : [[2 4 6 8]
[2 6 9 7]]
SD : [0. 1. 1.5 0.5]
Explanation:
Here firstly, we have imported numpy with alias name as np. Secondly, We have created a 2D-array ‘arr’ via array() function. Thirdly, We have declared the variable ‘result’ and assigned the std() function’s returned value. We have passed the array ‘arr’ in the function in which we have used one more parameter, i.e., axis=0. Lastly, we have printed the value of the result.
6. using axis=1 in 2D-array to find Numpy Standard Deviation
import numpy as np
arr = np.array([[2,4,6,8],[2,6,9,7]])
print("Array : ",arr)
result = np.std(arr, axis=1)
print("SD : ",result)
Output:
Array : [[2 4 6 8]
[2 6 9 7]]
SD : [2.23606798 2.54950976]
Explanation:
Here firstly, we have imported numpy with alias name as np. Secondly, We have created a 2D-array ‘arr’ via array() function. Thirdly, We have declared the variable ‘result’ and assigned the returned value of the std() function. we have passed the array ‘arr’ in the function in which we have used one more parameter i.e., axis=1. Lastly, we have printed the value of the result.
Must Read
Conclusion: Numpy Standard Deviation
In this tutorial, we have learned in detail about the calculation of standard deviation using the numpy.std() function. We have also seen all the examples in details to understand the concept better.
However, if you have any doubts or questions, do let me know in the comment section below. I will try to help you as soon as possible.
Happy Pythoning!