Numpy意味着std并且std在数组的每个术语上

时间:2016-10-21 09:28:25

标签: numpy

我有一个二维数组(相同形状)的列表,并希望获得与输入形状相同的结果数组中所有项的均值和偏差。我无法从文档中了解这是否可行。我对axis和keepdims参数的所有尝试都会产生不同形状的结果。

我希望例如:mean([x,x])等于x,std([x,x])零,形状像x。

这可能不重塑阵列吗?如果不是,如何通过重塑来实现呢?

示例:

>> x= np.array([[1,2],[3,4]])
>>> y= np.array([[2,3],[4,5]])
>>> np.mean([x,y])
3.0

我想改为[[1.5,2.5],[3.5,4.5]]

1 个答案:

答案 0 :(得分:5)

As Divikar points out,您可以将数组列表传递给np.mean,并指定axis=0以对列表中每个数组的相应值进行平均值:

In [13]: np.mean([x,y], axis=0)
Out[13]: 
array([[ 1.5,  2.5],
       [ 3.5,  4.5]])

这适用于任意长度的列表。仅适用于两个数组(x+y)/2.0 is faster

In [20]: %timeit (x+y)/2.0
100000 loops, best of 3: 1.96 µs per loop

In [21]: %timeit np.mean([x,y], axis=0)
10000 loops, best of 3: 21.6 µs per loop