我有一个64X64的矩阵,我需要找出它的按列平均值。
但是,我需要除以矩阵中非零的总数,而不是除以每列中的元素总数(即64个)。
我设法让它在单个列中工作,如下所示。作为参考,生成矩阵的函数名为fmu2(i,j)。
q = 0;
for i = 1:64
if fmu2(i,1) ~= 0;
q = q + 1;
end
end
for i = 1:64
mv = (1/q).*sum(fmu2(i,1));
end
这适用于生成第一列的“均值”值。然而,我在循环这个过程时遇到了问题,这样我就可以得到每一列的平均值。我尝试执行嵌套的for循环,但它只计
我在Python中有一个非常大的二维数组,使用numpy库。我希望有效地遍历每一列,并检查每一次元素是否与0不同,以便在每一列中计算它们的数目。
假设我有下面的矩阵。
M = array([[1,2], [3,4]])
下面的代码使我们能够高效地遍历每一行(当然,这不是我打算做的!):
for row_idx, row in enumerate(M):
print "row_idx", row_idx, "row", row
for col_idx, element in enumerate(row):
print "c