numpy.average¶
-
numpy.
average
(a, axis=None, weights=None, returned=False)[source]¶ 沿指定轴计算加权平均值。
参数: a:array_like
包含要平均的数据的数组。如果a不是数组,则尝试进行转换。
axis:int,可选
用于平均a的轴。如果无,则对平展的数组进行平均。
权重:array_like,可选
与a中的值相关联的权重数组。a中的每个值根据其关联权重对平均值作出贡献。权数数组可以是1-D(在这种情况下,其长度必须是沿给定轴的a的大小)或与a相同的形状。如果权重=无,则假设a中的所有数据具有等于1的权重。
返回:bool,可选
默认值为False。如果True,则返回元组(
average
,sum_of_weights),否则只返回平均值。如果权重=无,则sum_of_weights等于采用平均值的元素的数量。返回: average,[sum_of_weights]:array_type或double
沿指定轴返回平均值。当返回的是True时,返回一个元组,其中平均值作为第一个元素,权重的和作为第二个元素。如果a是整数类型,则返回类型为Float,否则返回类型与a的类型相同。 sum_of_weights与
average
具有相同的类型。上升: ZeroDivisionError
当沿轴的所有权重为零时。有关此类型错误的鲁棒版本,请参见
numpy.ma.average
。TypeError
当1D 权重的长度与沿着轴的a的形状不相同时。
例子
>>> data = range(1,5) >>> data [1, 2, 3, 4] >>> np.average(data) 2.5 >>> np.average(range(1,11), weights=range(10,0,-1)) 4.0
>>> data = np.arange(6).reshape((3,2)) >>> data array([[0, 1], [2, 3], [4, 5]]) >>> np.average(data, axis=1, weights=[1./4, 3./4]) array([ 0.75, 2.75, 4.75]) >>> np.average(data, weights=[1./4, 3./4]) Traceback (most recent call last): ... TypeError: Axis must be specified when shapes of a and weights differ.