`np.average()`格式选项

时间:2016-10-25 07:05:18

标签: python python-3.x

我试图理解一个python代码,一段特定的代码让我感到困扰:

mean = np.average(data[:,index])

我知道这是上面提到的data的平均计算,但[:,index]表示什么? 如果这个问题重复,我很抱歉,但请在标记之前给我一个解决方案。这是我接触Python的第一天,请原谅我的无知。感谢任何善意的建议!
  以下是原始代码的一部分

data = np.genfromtxt(args.inputfile)

def doBlocking(data,index):
ndata = data.shape[0]       
ncols = data.shape[1]-1
#things unimportant
mean = np.average(data[:,index])
#more unimportance

2 个答案:

答案 0 :(得分:0)

这就是所谓的切片。在您的情况下,计算二维数组的特定列(索引等于名称为“index”的变量)的平均值。

答案 1 :(得分:-1)

在这种情况下,data是二维numpy.arrayNumpy支持类似于Matlab

的切片
In [1]: import numpy as np

In [2]: data = np.arange(15)

In [3]: data
Out[3]: array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14])

In [4]: data = data.reshape([5,3])

In [5]: data
Out[5]:
array([[ 0,  1,  2],
   [ 3,  4,  5],
   [ 6,  7,  8],
   [ 9, 10, 11],
   [12, 13, 14]])

In [6]: data[:, 1]
Out[6]: array([ 1,  4,  7, 10, 13])

如您所见,它选择了第二列

上面的代码将获得列index的平均值。它基本上是说“计算每行中数据的均值,以及列index