【发布时间】:2014-07-21 10:48:06
【问题描述】:
我有一个多维数组“test[:,:,:]”,我想为每 4 个“帧”获取 test.shape[0] 维的平均值,我想保持相同的维我的数组并用平均值替换 4 个值。
例如:
test=np.array([[[ 2., 1., 1.],
[ 1., 1., 1.]],
[[ 3., 1., 1.],
[ 1., 1., 1.]],
[[ 3., 1., 1.],
[ 1., 1., 1.]],
[[ 5., 1., 1.],
[ 1., 1., 1.]],
[[ 2., 1., 1.],
[ 1., 1., 1.]],
[[ 3., 1., 1.],
[ 1., 1., 1.]],
[[ 3., 1., 1.],
[ 1., 1., 1.]],
[[ 5., 1., 1.],
[ 1., 1., 1.]],
[[ 2., 1., 1.],
[ 1., 1., 1.]]])
for i in range(test.shape[0]-1,4):
test_mean = (test[i,:,:]+test[i+1,:,:]+test[i+2,:,:]+test[i+3,:,:])/4.
但是,我没有保持相同的维度……最好的方法是什么?
【问题讨论】:
-
“我不保持相同的维度”的意思不是很清楚。那么,对于 (9, 2, 3) 数组
test,您想要一个 (9, 2, 3) 数组作为结果,还是一个 (2, 2, 3) 数组,还是别的什么?如果您可以明确地为test_mean添加正确的结果以供参考,我们可以为您提供最好的帮助。 -
在发布问题后保持在线一段时间也是一个好主意。否则,如果潜在的回答者无法让您对澄清请求发表评论,他们可能会继续前进。
-
正如我所说,我想保留 (9, 2, 3) 数组!谢谢 ;) (我不得不去)。
标签: python arrays numpy average