Python statistics | stdev()

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 :

 {\displaystyle s = {\sqrt {\frac {\sum _{i=1}^{N}(x_{i}-{\overline {x}})^{2}}{N-1}}} } 

where x1, x2, x3.....xn are observed values in sample data,
\scriptstyle {\overline {x}} is the mean value of observations and
N 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.

Returnype : 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 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)))

chevron_right


Output :

Standard Deviation of the sample is 1.5811388300841898 

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

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to demonstrate stdev()  
# function on varioius range of datasets
  
# importing the statistics module
from statistics import stdev
  
# importing frations 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)))

chevron_right


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()

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to demonstrate differnce 
# 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)))

chevron_right


Output :

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

 
Code #4 : Demomstrate the use of xbar parameter

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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)))

chevron_right


Output :

Standard Deviation of Sample set is 0.6047037842337906

 
Code #5 : Demonstrates StatisticsError

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


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 :