我正在尝试对二维 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.mean
和np.average
,但结果与空数组相同。
ws1
、ws1_I8
、ws1_I10
中的每一个都具有 (18, 75)
的形状,我想结果数组的形状为 (18, 75)
。
任何想法或帮助将不胜感激。
最佳答案
如果 ws1
、ws1_I8
和 ws1_I10
的形状均为 (18, 75),则 np.mean([ws1, ws1_I8, ws1_I10])
应该返回所有数组中所有值的平均值。 (我不确定“结果与空数组相同”是什么意思。)np.mean
会将 [ws1, ws1_I8, ws1_I10]
转换为形状为 (3, 18, 75) 的 3 维数组。要使 np.mean
仅沿第一个轴求平均值,请使用参数 axis=0
:
WSAV = np.mean([ws1, ws1_I8, ws1_I10], axis=0)
或者,您可以简单地写:
WSAV = (ws1 + ws1_I8 + ws1_I10) / 3.0
关于python - 使用 numpy.mean 或 numpy.average 平均二维 numpy.array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622102/