Open In App

stdev() method in Python statistics module

Statistics module in Python provides a function known as stdev() , which can be used to calculate the standard deviation. stdev() function only calculates standard deviation from a sample of data, rather than an entire population. 

To calculate standard deviation of an entire population, another function known as pstdev() is used. 



Standard Deviation is a measure of spread in Statistics. It is used to quantify the measure of spread, variation of a set of data values. It is very much similar to variance, gives the measure of deviation whereas variance provides the squared value. 
A low measure of Standard Deviation indicates that the data are less spread out, whereas a high value of Standard Deviation shows that the data in a set are spread apart from their mean average values. A useful property of the standard deviation is that, unlike the variance, it is expressed in the same units as the data. 

Standard Deviation is calculated by :

where x1, x2, x3.....xn are observed values in sample data, is the mean value of observations andN is the number of sample observations.

Syntax : stdev( [data-set], xbar )
Parameters : 
[data] : An iterable with real valued numbers. 
xbar (Optional): Takes actual mean of data-set as value.
Returntype : Returns the actual standard deviation of the values passed as parameter.
Exceptions : 
StatisticsError is raised for data-set less than 2 values passed as parameter. 
Impossible/precision-less values when the value provided as xbar doesn’t match actual mean of the data-set. 
 



Code #1 :  

# Python code to demonstrate stdev() function
 
# importing Statistics module
import statistics
 
# creating a simple data - set
sample = [1, 2, 3, 4, 5]
 
# Prints standard deviation
# xbar is set to default value of 1
print("Standard Deviation of sample is % s "
                % (statistics.stdev(sample)))

                    

Output : 

Standard Deviation of the sample is 1.5811388300841898 

Code #2 : Demonstrate stdev() on a varying set of data types  

# Python code to demonstrate stdev() 
# function on various range of datasets
 
# importing the statistics module
from statistics import stdev
 
# importing fractions as parameter values
from fractions import Fraction as fr
 
# creating a varying range of sample sets
# numbers are spread apart but not very much
sample1 = (1, 2, 5, 4, 8, 9, 12)
 
# tuple of a set of negative integers
sample2 = (-2, -4, -3, -1, -5, -6)
 
# tuple of a set of positive and negative numbers
# data-points are spread apart considerably
sample3 = (-9, -1, -0, 2, 1, 3, 4, 19)
 
# tuple of a set of floating point values
sample4 = (1.23, 1.45, 2.1, 2.2, 1.9)
 
# Print the standard deviation of 
# following sample sets of observations
print("The Standard Deviation of Sample1 is % s"
                              %(stdev(sample1)))
                               
print("The Standard Deviation of Sample2 is % s"
                              %(stdev(sample2)))
                               
print("The Standard Deviation of Sample3 is % s"
                              %(stdev(sample3)))
                               
                               
print("The Standard Deviation of Sample4 is % s"
                              %(stdev(sample4)))

                    

Output : 

The Standard Deviation of Sample1 is 3.9761191895520196
The Standard Deviation of Sample2 is 1.8708286933869707
The Standard Deviation of Sample3 is 7.8182478855559445
The Standard Deviation of Sample4 is 0.41967844833872525

Code #3 :Demonstrate the difference between results of variance() and stdev()  

# Python code to demonstrate difference
# in results of stdev() and variance()
 
# importing Statistics module
import statistics
 
# creating a simple data-set
sample = [1, 2, 3, 4, 5]
 
# Printing standard deviation
# xbar is set to default value of 1
print("Standard Deviation of the sample is % s "
                    %(statistics.stdev(sample)))
 
# variance is approximately the
# squared result of what stdev is
print("Variance of the sample is % s"
     %(statistics.variance(sample)))

                    

Output : 

Standard Deviation of the sample is 1.5811388300841898 
Variance of the sample is 2.5

Code #4 : Demonstrate the use of xbar parameter  

# Python code to demonstrate use of xbar
# parameter while using stdev() function
 
# Importing statistics module
import statistics
 
# creating a sample list
sample = (1, 1.3, 1.2, 1.9, 2.5, 2.2)
 
# calculating the mean of sample set
m = statistics.mean(sample)
 
# xbar is nothing but stores
# the mean of the sample set
 
# calculating the variance of sample set
print("Standard Deviation of Sample set is % s"
         %(statistics.stdev(sample, xbar = m)))

                    

Output : 

Standard Deviation of Sample set is 0.6047037842337906

Code #5 : Demonstrates StatisticsError  

# Python code to demonstrate StatisticsError
 
# importing the statistics module
import statistics
 
# creating a data-set with one element
sample = [1]
 
# will raise StatisticsError
print(statistics.stdev(sample))

                    

Output : 

Traceback (most recent call last):
  File "/home/f921f9269b061f1cc4e5fc74abf6ce10.py", line 12, in 
    print(statistics.stdev(sample))
  File "/usr/lib/python3.5/statistics.py", line 617, in stdev
    var = variance(data, xbar)
  File "/usr/lib/python3.5/statistics.py", line 555, in variance
    raise StatisticsError('variance requires at least two data points')
statistics.StatisticsError: variance requires at least two data points

Applications :  


Article Tags :