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.

- Using stdev or pstdev functions of statistics package.
- 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.