欢迎访问宙启技术站
智能推送

用Python函数计算平均值和标准偏差

发布时间:2023-06-26 10:55:16

平均值和标准偏差是统计学中常用的两个描述数据集中位置和离散度的指标。在Python中,可以使用函数来计算平均值和标准偏差。本文将介绍如何使用Python函数计算平均值和标准偏差。

一、计算平均值

平均值是数据集中所有数据的总和除以数据个数。在Python中可以使用内置函数sum()和len(),结合起来求得一个列表中数据的平均值。具体代码如下:

def mean(lst):
    return sum(lst)/len(lst)

上述代码中,定义了一个函数mean(),该函数需要传入一个列表作为参数。函数体内,使用sum()函数计算列表lst中所有元素的和,再除以列表长度len(lst),从而得到平均值。考虑一个数值型列表:

lst = [1, 2, 3, 4, 5]
print(mean(lst))

执行上述代码,输出结果为:

3.0

上述代码计算了列表lst中所有元素的平均值,并输出结果3.0。

二、计算标准偏差

标准偏差是度量数据分散程度的一种方法,它反映一组数据的离散程度。通俗的说,标准偏差描述的是数据集合中各个数据与平均数之差的平方和与样本数量之差的平均数。其公式如下:

$$s = \sqrt{\frac{\sum_{i=1}^{n}(x_i-\bar{x})^2}{n-1}}$$

在Python中,可以使用math库中的sqrt()函数来求平方根,重点是如何计算分子部分:$\sum_{i=1}^{n}(x_i-\bar{x})^2$。可以使用列表解析式来实现这一计算,具体代码如下:

import math

def std(lst):
    x_bar = mean(lst)
    numerator = sum([(xi - x_bar)**2 for xi in lst])
    denominator = len(lst) - 1
    return math.sqrt(numerator / denominator)

上述代码中,定义了一个函数std(),该函数需要传入一个列表作为参数。函数体内,使用mean()函数计算列表lst的平均值x_bar。使用列表解析式计算分子部分:$\sum_{i=1}^{n}(x_i-\bar{x})^2$,即计算列表lst中每个元素与平均值的差,再求平方,将这些平方值相加得到分子。最后除以自由度n-1,并使用sqrt()函数计算标准偏差s。考虑一个数值型列表:

lst = [1, 2, 3, 4, 5]
print(std(lst))

执行上述代码,输出结果为:

1.5811388300841898

上述代码计算了列表lst中所有元素的标准偏差,并输出结果1.5811388300841898。

综上,本文介绍了如何使用Python函数计算平均值和标准偏差。Python中可用的内置函数和第三方库函数可以大大简化这一过程,并提高代码效率。计算平均值和标准偏差是统计学中最基础的操作之一,在任何数据分析任务中都会经常用到,Python是一个强大的工具,可以在数据分析过程中大大提高效率。