返回包含每个指定列的平均值的数组

时间:2014-11-13 04:25:50

标签: python arrays numpy

我一直在努力寻找出路。

输入一个二维数组和几个列号,以数组的形式返回这些特定列中每个数字的平均值。

我知道如何输出所有列的平均值,但我不知道如何仅输出特定列的平均值。

a =数组([[0,0,1],[1,1,2],[3,3,3]])

get_average(A,[0,1])

阵列([1.333333333,1.3333333333333])

1 个答案:

答案 0 :(得分:1)

numpy

中的平均值

numpy有一个average函数:

>>> import numpy as np
>>> a = np.array([[0, 0,1], [1, 1,2], [3, 3,3]])
>>> np.average(a[:,(0,1)], axis=0)
array([ 1.33,  1.33])

对于np.averageaxis指定阵列轴以及平均值。例如,axis=0平均行数。

如果您需要,

np.average还会提供加权平均值。

定义get_average函数

如果您认为您仍然需要get_average功能,那么:

def get_average(a, cols):
    return np.average(a[:,cols], axis=0)