Python中的双重求和

Lim*_*nce 5 python math numpy equations

我正在尝试编写一个代码来进行双重求和(见图)

在此输入图像描述

其中; M是主题,N是试验,Yijt是测量的波形数据(3d数组)

到目前为止我有; 给定Y是按Y排列的数据[主题,试验,时间]

# ranges:
I = len(Y)
J = len(Y[0])

Y_i_vals = 0

for i in range(M):
    for j in range(N):
        Y_i_vals = Y_i_vals +Y[i][j]
Yt = (1.0/(M*N)) * Y_i_vals
Run Code Online (Sandbox Code Playgroud)

这似乎不是最有效的方法,我也不确定它是否给出了正确的结果.

YXD*_*YXD 6

如果您使用numpy只是做

np.mean(Y)
Run Code Online (Sandbox Code Playgroud)

此外,最好将样本输入和预期输出数据添加到您的问题中.

如果你想要每种方法t都可以做到np.mean(np.mean(a, axis=0), axis=0) ,或者如@ophion所述,你可以将它缩短为np.mean(a, axis=(0, 1))更新的(1.71及以上)版本的NumPy.

  • 在numpy 1.7.1中,您可以将其简化为`np.mean(a,axis =(0,1))` (2认同)