# Python Stddev: The Complete Guide

Standard Deviation is the measure of spread in Statistics. It is used to quantify the measure of spread, variation of the set of data values. It is very much similar to the variance, gives the measure of deviation, whereas variance provides a squared value.

In this blog, we have already covered Python mean(), Python median(), Python mode(), and Python variance() function.

## Python Stddev()

Python stddev() is an inbuilt function that calculates the standard deviation from a sample of data, rather than an entire population.

There are two ways to calculate a standard deviation in Python.

1. Using stdev or pstdev functions of statistics package.
2. Using the std function of the numpy package.

The stddev is used when the data is just a sample of the entire dataset.

The pstdev is used when the data represents the whole population. Note that statistics is a lightweight module added in Python 3.x.

The process of finding standard deviation requires you to know whether the data you have is the entire dataset or it is a sample of a group.

Let’s see the syntax of the stddev() function.

`stdev([data-set], xbar)`

See the following parameters.

[data]: An iterable with real-valued numbers.
xbar (Optional): Takes the actual mean of the data-set as value.

See the following code example.

```# app.py

import statistics

dataset = [1, 2, 3, 4, 5]

print("Standard Deviation of a dataset is % s "
% (statistics.stdev(dataset)))
```

See the following output.

```➜  pyt python3 app.py
Standard Deviation of a dataset is 1.5811388300841898
➜  pyt```

Let’s take another example.

```# app.py

import statistics

dataset = [11, 21, 18, 19, 46]

print("Standard Deviation of dataset is % s "
% (statistics.stdev(dataset)))
```

See the following output.

```➜  pyt python3 app.py
Standard Deviation of dataset is 13.397761006974262
➜  pyt```

## Pass the xbar parameter

Okay, let’s take the list, and now while finding the stddev, we pass the second parameter to the function called xbar and see the output.

```# app.py

import statistics

dataset = [11, 21, 18, 19, 46]

meanValue = statistics.mean(dataset)

print("Standard Deviation of the dataset is % s "
% (statistics.stdev(dataset, xbar=meanValue)))
```

See the output.

```➜  pyt python3 app.py
Standard Deviation of the dataset is 13.397761006974262
➜  pyt```

## Python standard deviation example using pstdev

Let’s take an example using the Python Statistics pstdev() function.

```# app.py

import statistics

dataset = [11, 21, 18, 19, 46]

print("Standard Deviation of a dataset is % s "
% (statistics.pstdev(dataset)))
```

See the following output.

```➜  pyt python3 app.py
Standard Deviation of a dataset is 11.983321743156194
➜  pyt```

## Use stdev() on a varying set of data types

See the following code.

```# app.py

from statistics import stdev

from fractions import Fraction as fr

sample1 = (21, 19, 11, 14, 18, 19, 46)

sample2 = (-21, -19, -11, -14, -18, -19, -46)

sample3 = (-9, -1, -0, 2, 1, 3, 4, 19)

sample4 = (21.23, 19.45, 29.1, 11.2, 18.9)

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

See the following output.

```➜  pyt python3 app.py
The Standard Deviation of Sample1 is 11.480832888319723
The Standard Deviation of Sample2 is 11.480832888319723
The Standard Deviation of Sample3 is 7.8182478855559445
The Standard Deviation of Sample4 is 6.388906792245447
➜  pyt```

## Python standard deviation example using numpy

We can execute numpy.std() to calculate standard deviation. First, we need to import the numpy library. See the following output.

```# app.py

import numpy as np

num = [21, 19, 11, 14, 18, 19, 46]

print("The Standard Deviation of Numpy Data is % s"
% (np.std(num)))
```

See the following output.

```➜  pyt python3 app.py
The Standard Deviation of Numpy Data is 10.629185850136157
➜  pyt```

## Difference between variance() and stddev()

Okay, let’s take a simple Python List and get its variance() and stddev().

```# app.py

import statistics

dataset = [11, 21, 18, 19, 46]

print("Standard Deviation of the dataset is % s "
% (statistics.stdev(dataset)))
print("Variance of the dataset is % s"
% (statistics.variance(dataset)))
```

See the following output.

```➜  pyt python3 app.py
Standard Deviation of the dataset is 13.397761006974262
Variance of the dataset is 179.5
➜  pyt```

## StatisticsError

Okay, now if we only pass the one data point, then it will raise the StatisticsError because the stddev() function requires a minimum of two data points. See the following code.

```# app.py

import statistics

dataset = [11]

print("Standard Deviation of the dataset is % s "
% (statistics.stdev(dataset)))
```

See the following output.

```➜  pyt python3 app.py
Traceback (most recent call last):
File "app.py", line 6, in <module>
% (statistics.stdev(dataset)))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/statistics.py", line 650, in stdev
var = variance(data, xbar)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/statistics.py", line 588, in variance
raise StatisticsError('variance requires at least two data points')
statistics.StatisticsError: variance requires at least two data points
➜  pyt```

Finally, Python stddev() Example is over.

This site uses Akismet to reduce spam. Learn how your comment data is processed.