Wednesday, March 10, 2021

Python Pool: Various Ways to Find Standard Deviation in Numpy

Introduction

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.

standard deviation formula

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!

The post Various Ways to Find Standard Deviation in Numpy appeared first on Python Pool.



from Planet Python
via read more

No comments:

Post a Comment

TestDriven.io: Working with Static and Media Files in Django

This article looks at how to work with static and media files in a Django project, locally and in production. from Planet Python via read...