zoukankan      html  css  js  c++  java
  • Python3标准库:statistics统计计算

    1. statistics统计计算

    statistics模块实现了很多常用的统计公式,允许使用Python的各种数值类型(int、float、Decimal和Fraction)来完成高效计算。

    1.1 平均值

    共支持3种形式的平均值:均值(mean),中值或中位数(median),以及众数(mode)。可以用mean()计算算术平均值。

    from statistics import *
    
    data = [1, 2, 2, 5, 10, 12]
    
    print('{:0.2f}'.format(mean(data)))

    对于整数和浮点数,这个函数的返回值总是float。对于Decimal和Fraction输入数据,结果与输入的类型相同。

    可以使用mode()计算一个数据集中最常见的数据点。 

    from statistics import *
    
    data = [1, 2, 2, 5, 10, 12]
    
    print(mode(data))

    其返回值总是输入数据集的一个成员。由于mode()把输入处理为一个离散值集合,并且统计出现次数,所以实际上输入不必是数值。

    计算中值(或中位数)有4种变形。 前三种是一般算法的简单版本,只是在处理元素个数为偶数的数据集时采用了不同方法。

    from statistics import *
    
    data = [1, 2, 2, 5, 10, 12]
    
    print('median     : {:0.2f}'.format(median(data)))
    print('low        : {:0.2f}'.format(median_low(data)))
    print('high       : {:0.2f}'.format(median_high(data)))

    median()会查找中间的值。如果数据集包含偶数个值,则取两个中间元素的平均值。median_low()总是返回输入数据集中的一个值,对于有偶数个元素的数据集,会返回两个中间元素中较小的一个。median_high()与之类似,不过会返回两个中间元素中较大的一个。

    中值计算的第4个版本是median_grouped(),它会把输入看作连续数据。这个函数计算50%百分位数(即中值)的做法是首先是要所提供的间隔宽度找出中值区间,然后使用落入该区间的数据集中的具体值位置在该区间中插值。 

    from statistics import *
    
    data = [10, 20, 30, 40]
    
    print('1: {:0.2f}'.format(median_grouped(data, interval=1)))
    print('2: {:0.2f}'.format(median_grouped(data, interval=2)))
    print('3: {:0.2f}'.format(median_grouped(data, interval=3)))

    随着间隔宽度的增加,为相同数据集计算的中值会改变。

    1.2 方差

    统计使用两个值描述一个值集相对于均值的分散度。方差(variance)是各个值与均值之差平方的平均,标准偏差或标准差(standard deviation)是方差的平方根(这很有用,因为取平方根可以使标准差与输入数据有相同的单位)。如果方差或标准差的值很大,这说明一个数据集是分散的,而如果这个值很小,则说明数据在靠近均值聚集。 

    import statistics
    
    x =[1,2,3,4,5,10,9,8,7,6]
    y1 = statistics.pvariance(x)
    print(y1)
    y2 = statistics.pstdev(x)
    print(y2)
    y3 = statistics.variance(x)
    print(y3)
    y4 = statistics.stdev(x)
    print(y4)

    Python包括两组函数来计算方差和标准差,具体取决于数据集是表示总体还是总体中的一个样本。这个例子首先pvariance()和pstdev()计算总体的方差和标准哈。然后使用variance()和stdev()计算一个子集的样本方差和标准差。

  • 相关阅读:
    安卓读取SD卡的容量
    Eclipse常用快捷键
    安卓实现记住密码登陆功能
    eclipse DDMS导出文件失败--android Failed to push the item
    LinearLayout线性布局搭配权重属性的使用
    unity 天空盒有缝隙的解决方案
    unity gitignore
    unity 5.6.1 Oculus手柄输入问题
    两个长整形相除等于零
    Unity 获得视频的某一帧,生成缩略图
  • 原文地址:https://www.cnblogs.com/liuhui0308/p/12427707.html
Copyright © 2011-2022 走看看