先决条件:统计函数简介
在数据分析和统计方面,Python是一种非常流行的语言。幸运的是,Python3提供了statistics模块,它具有非常有用的功能,例如mean(),median(),mode()等等
mean()函数可用于计算给定数字列表的均值/平均值。它返回作为参数传递的数据集的平均值。
算术平均值是数据的总和除以data-points的数量。它是一组范围内变化的值中数据中心位置的度量。在Python中,我们通常通过将给定数字的总和除以当前数字进行计数。
Given set of numbers:[n1, n2, n3, n5, n6]
Sum of data-set = (n1 + n2 + n3 + n4 + n5)
Number of data produced = 5
Average or arithmetic mean = (n1 + n2 + n3 + n4 + n5) / 5
用法:mean([data-set])
Parameters:
[data-set]:一组数字的列表或元组。
Returns:提供的data-set的样本算术平均值。
Exceptions:
TypeError当数值以外的任何其他参数作为参数传递时。
代码1:工作中
# Python program to demonstrate mean()
# function from the statistics module
# Importing the statistics module
import statistics
# list of positive integer numbers
data1 = [1, 3, 4, 5, 7, 9, 2]
x = statistics.mean(data1)
# Printing the mean
print("Mean is:", x)
输出:
Mean is:4.428571428571429
代码2:工作中
# Python program to demonstrate mean()
# function from the statistics module
# Importing the statistics module
from statistics import mean
# Importing fractions module as fr
# Enables to calculate mean of a
# set in Fraction
from fractions import Fraction as fr
# tuple of positive integer numbers
data1 = (11, 3, 4, 5, 7, 9, 2)
# tuple of a negative set of integers
data2 = (-1, -2, -4, -7, -12, -19)
# tuple of mixed range of numbers
data3 = (-1, -13, -6, 4, 5, 19, 9)
# tuple of a set of fractional numbers
data4 = (fr(1, 2), fr(44, 12), fr(10, 3), fr(2, 3))
# dictionary of a set of values
# Only the keys are taken in
# consideration by mean()
data5 = {1:"one", 2:"two", 3:"three"}
# Printing the mean of above datsets
print("Mean of data set 1 is % s" % (mean(data1)))
print("Mean of data set 2 is % s" % (mean(data2)))
print("Mean of data set 3 is % s" % (mean(data3)))
print("Mean of data set 4 is % s" % (mean(data4)))
print("Mean of data set 5 is % s" % (mean(data5)))
输出:
Mean of data set 1 is 5.857142857142857
Mean of data set 2 is -7.5
Mean of data set 3 is 2.4285714285714284
Mean of data set 4 is 49/24
Mean of data set 5 is 2
代码3:TypeError
# Python3 code to demonstrate TypeError
# importing statistics module
from statistics import mean
# While using dictionaries, only keys are
# taken into consideration by mean()
dic = {"one":1, "three":3, "seven":7,
"twenty":20, "nine":9, "six":6}
# Will raise TypeError
print(mean(dic))
输出:
Traceback (most recent call last):
File "/home/9f8a941703745a24ddce5b5f6f211e6f.py", line 29, in
print(mean(dic))
File "/usr/lib/python3.5/statistics.py", line 331, in mean
T, total, count = _sum(data)
File "/usr/lib/python3.5/statistics.py", line 161, in _sum
for n, d in map(_exact_ratio, values):
File "/usr/lib/python3.5/statistics.py", line 247, in _exact_ratio
raise TypeError(msg.format(type(x).__name__))
TypeError:can't convert type 'str' to numerator/denominator
应用范围:
平均值/算术平均值是非常重要的功能之一,同时可以处理统计数据和大数值。因此,借助mean()之类的功能,可以从大型数据集中提取趋势和特征值。