我从一个矩阵中取一列,然后尝试创建一个数组,该数组在不同的增量上对列进行平均。我写了一个示例代码来说明我的问题。在
import numpy
import numpy as np
import matplotlib.pyplot as plt
numint = 2
numflo = 2.0
a = numpy.matrix ([[1,2,3],[4,5,6],[7,8,9,],[10,11,12],[13,14,15],[16,17,18]])
b= a[-2*3:,1]
for i in range (0,numint+1,1):
avg = sum(b[numint*i:numint*(i+1)])/numflo
print avg
当我运行这段代码并在循环内打印avg时,我得到以下结果
^{pr2}$但如果我在循环外打印平均值,那么
[[15.5]]
这就把我剩下的代码都扔了。为什么它不打印整个矩阵平均值而只打印最后一个数字。感谢任何帮助,谢谢!在
试试看
这是因为在您的
for loop
中,您总是将avg
更新为上一列的平均值。换言之,如果你想得到整个平均值,你可以像这样做一个漂亮的一行:
然后您可以简单地访问您的值,如
avg[0]
等。。在相关问题 更多 >
编程相关推荐