绘制平均值



我想平均绘制24个数组的平均值,但是有一个错误消息'列表''对象没有属性'shape''。错误在哪里?

empty_array=numpy.zeros[2,30,100]
for x in range (1,25):
    array = array[x,:,:,:]
    empty_array += array
average = map(lambda x:x/24,empty_array)
plt.figure(1)
plt.pcolor(average)
plt.colorbar(orientation='horizontal')                 

empty_array=[2,30,100]不会创建一个空数组。它是包含三个数字的列表。您正在寻找numpy.zeros

看起来您想在其中一个轴中计算平均值。您可以简单地将np.mean()使用。文档中的示例:

>>> a = np.array([[1, 2], [3, 4]])
>>> np.mean(a)
2.5
>>> np.mean(a, axis=0)
array([ 2.,  3.])
>>> np.mean(a, axis=1)
array([ 1.5,  3.5])

这里的关键是正确定义要平均要结束的轴。

其他错误:

  • np.zeros()将元组描述为输入,即np.zeros((2,30,100))
  • 您获得"'列表'对象没有属性'形状'的原因是 average是python list。Python中的列表没有名为shape的属性。plt.pcolor()期望一个2-D(numpy)阵列。

最新更新