统计分析模块statistics

一 计算平均数函数mean()

  1. >>>import statistics
  2. >>> statistics.mean([1,2,3,4,5,6,7,8,9])#使用整数列表做参数
  3. 5
  4. >>> statistics.mean(range(1,10))#使用range对象做参数
  5. 5
  6. >>>import fractions
  7. >>> x =[(3,7),(1,21),(5,3),(1,3)]
  8. >>> y =[fractions.Fraction(*item)for item in x]
  9. >>> y
  10. [Fraction(3,7),Fraction(1,21),Fraction(5,3),Fraction(1,3)]
  11. >>> statistics.mean(y)#使用包含分数的列表做参数
  12. Fraction(13,21)
  13. >>>import decimal
  14. >>> x =('0.5','0.75','0.625','0.375')
  15. >>> y = map(decimal.Decimal, x)
  16. >>> statistics.mean(y)
  17. Decimal('0.5625')
二 中位数函数median()、median_low()、median_high()、median_grouped()
  1. >>> statistics.median([1,3,5,7])#偶数个样本时取中间两个数的平均数
  2. 4.0
  3. >>> statistics.median_low([1,3,5,7])#偶数个样本时取中间两个数的较小者
  4. 3
  5. >>> statistics.median_high([1,3,5,7])#偶数个样本时取中间两个数的较大者
  6. 5
  7. >>> statistics.median(range(1,10))
  8. 5
  9. >>> statistics.median_low([5,3,7]), statistics.median_high([5,3,7])
  10. (5,5)
  11. >>> statistics.median_grouped([5,3,7])
  12. 5.0
  13. >>> statistics.median_grouped([52,52,53,54])
  14. 52.5
  15. >>> statistics.median_grouped([1,3,3,5,7])
  16. 3.25
  17. >>> statistics.median_grouped([1,2,2,3,4,4,4,4,4,5])
  18. 3.7
  19. >>> statistics.median_grouped([1,2,2,3,4,4,4,4,4,5], interval=2)
  20. 3.4
三 返回最常见数据或出现次数最多的数据(most common data)的函数mode()
  1. >>> statistics.mode([1,3,5,7])#无法确定出现次数最多的唯一元素
  2. Traceback(most recent call last):
  3. File"<pyshell#27>", line 1,in<module>
  4. statistics.mode([1,3,5,7])#无法确定出现次数最多的唯一元素
  5. File"D:\Python36\lib\statistics.py", line 507,in mode
  6. 'no unique mode; found %d equally common values'% len(table)
  7. statistics.StatisticsError: no unique mode; found 4 equally common values
  8. >>> statistics.mode([1,3,5,7,3])
  9. 3
  10. >>> statistics.mode(["red","blue","blue","red","green","red","red"])
  11. 'red'
四 
pstdev(),返回总体标准差(population standard deviation ,the square root of the population variance)
  1. >>> statistics.pstdev([1.5,2.5,2.5,2.75,3.25,4.75])
  2. 0.986893273527251
  3. >>> statistics.pstdev(range(20))
  4. 5.766281297335398
五 pvariance(),返回总体方差(population variance)或二次矩(second moment)
  1. >>> statistics.pvariance([1.5,2.5,2.5,2.75,3.25,4.75])
  2. 0.9739583333333334
  3. >>> x =[1,2,3,4,5,10,9,8,7,6]
  4. >>> mu = statistics.mean(x)
  5. >>> mu
  6. 5.5
  7. >>> statistics.pvariance([1,2,3,4,5,10,9,8,7,6], mu)
  8. 8.25
  9. >>> statistics.pvariance(range(20))
  10. 33.25
  11. >>> statistics.pvariance((random.randint(1,10000)for i in range(30)))
  12. >>>import random
  13. >>> statistics.pvariance((random.randint(1,10000)for i in range(30)))
  14. 7117280.4

猜你喜欢

转载自cakin24.iteye.com/blog/2388399