我有一个Numpy 3轴阵列,其元素是三维的。我想平均他们并返回相同的阵列形状。正常的平均函数删除的3个维度,并与平均更换(如预期):平均numpy数组,但保留形状
a = np.array([[[0.1, 0.2, 0.3], [0.2, 0.3, 0.4]],
[[0.4, 0.4, 0.4], [0.7, 0.6, 0.8]]], np.float32)
b = np.average(a, axis=2)
# b = [[0.2, 0.3],
# [0.4, 0.7]]
结果所需:
# b = [[[0.2, 0.2, 0.2], [0.3, 0.3, 0.3]],
# [[0.4, 0.4, 0.4], [0.7, 0.7, 0.7]]]
你能做到这一点优雅或者我只需要遍历在Python中的数组(这将比强大的Numpy函数慢很多)。
您可以将np.mean函数的Dtype参数设置为1D数组吗?
谢谢。
的你想在这个问题,看看有什么大风扇。 – lukecampbell
在大多数情况下,我可以想象,广播将不需要3D数组。 – tillsten