我有一个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数组吗?
谢谢。