我有一个包含包含数组的列表的列表,如下所示:
A = [
[
array([[ 1., 4.3, 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
],
[
array([[ 5., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
]
]
所以我基本上有两个4x4矩阵。现在,我们的目标是取得我设法做到的这两项的平均值:
np.mean([A[0][0],A[1][0]],axis=0)
我还有另一个矩阵B,它由三个4x4矩阵组成,平均值就像
np.mean([B[0][0],B[1][0]],B[2][0],axis=0)
我想概括一下,这样我每次都不必重写np.mean部分。所以我可能会使用A(2)的长度或B(3)的长度来构造它,但我不确定如何获得类似的东西
np.mean(C[0][0],C[1][0],[...][0],[n-1][0],axis=0)
其中n是len(C)。
我该如何实现?谢谢!
答案 0 :(得分:1)
你可以使用列表理解:
>>> np.mean([A[i][0] for i in range(len(A))], axis=0)
或更短,更具可读性和" pythonic":
>>> np.mean([a[0] for a in A], axis=0)
array([[ 3. , 2.15, 0. , 0. ],
[ 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ]])