要素が3次元のNumpy3軸配列があります。それらを平均して、同じ形状の配列を返したいと思います。通常の平均関数は、3つの次元を削除し、それを平均に置き換えます(予想どおり)。
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配列に設定できますか?
ありがとう。