平均2-D numpy.numpy数组.平庸还是愚蠢,平庸



我正在尝试平均二维numpy数组。所以,我使用numpy.mean,但结果是空数组。

import numpy as np
ws1 = np.array(ws1)
ws1_I8 = np.array(ws1_I8) 
ws1_I10 = np.array(ws1_I10)
WSAV = np.mean([ws1,ws1_I8,ws1_I10])
print WSAV

我同时使用np.meannp.average,但结果与空数组相同。ws1, ws1_I8, ws1_I10的形状都是(18, 75),我希望得到(18, 75)形状的结果数组。

如果ws1, ws1_I8ws1_I10都有形状(18,75),那么np.mean([ws1, ws1_I8, ws1_I10])应该返回所有数组中所有值的平均值。(我不确定你所说的"结果与空数组相同"是什么意思。)np.mean将把[ws1, ws1_I8, ws1_I10]转换成形状为(3,18,75)的三维数组。要使np.mean仅沿第一个轴取平均值,请使用参数axis=0:

WSAV = np.mean([ws1, ws1_I8, ws1_I10], axis=0)

或者,您可以简单地写:

WSAV = (ws1 + ws1_I8 + ws1_I10) / 3.0

这听起来很适合你:

average_list = [ws1, ws1_I8, ws1_I10]
WSAV = sum(average_list) / len(average_list)

假设您想要的是(ws1+ws1_I8+ws1_I10)/3 .

相关内容

  • 没有找到相关文章