我试图理解一个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
答案 0 :(得分:0)
这就是所谓的切片。在您的情况下,计算二维数组的特定列(索引等于名称为“index”的变量)的平均值。
答案 1 :(得分:-1)
在这种情况下,data
是二维numpy.array
。 Numpy
支持类似于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
”