Source code for simplestatistics.statistics.standard_deviation

"""
Implements standard_deviation().
"""

import math
from .variance import variance

[docs]def standard_deviation(data, sample=True): """ The `standard deviation`_ is the square root of variance_ (the sum of squared deviations from the mean). The standard deviation is a commonly used measure of the variation and distance of a set of values in a sample from the mean of the sample. .. _`standard deviation`: https://en.wikipedia.org/wiki/Standard_deviation .. _variance: http://en.wikipedia.org/wiki/Variance Equation: .. math:: \\sigma = \\sqrt{\\frac{\\sum (x - \\mu)^2}{N - 1}} In English: - Obtain the difference between each value and the mean. - Square those values. - Sum the squared values. - Divide by the number of values - 1 (to correct for the sampling). - Obtain the square root of the result. Args: data: A list of numerical objects. sample: A boolean value. If True, calculates standard deviation for sample. If False, calculates standard deviation for population. Returns: A float object. Examples: >>> standard_deviation([1, 2, 3]) 1.0 >>> standard_deviation([1, 2, 3], False) 0.816496580927726 >>> standard_deviation([1, 2, 3, 4]) 1.2909944487358056 >>> standard_deviation([-1, 0, 1, 2, 3, 4]) 1.8708286933869707 """ return math.sqrt(variance(data, sample))