在Python中,给定一个nxp矩阵,例如4x4,如何返回一个4x2的矩阵,它只是对矩阵的所有4行的前两列和最后两列求平均值?在
例如,给定:
a=数组([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]])
返回一个矩阵,该矩阵的平均值为[:,0]和[:,1]的平均值,以及[:,2]和[:,3]的平均值。 我希望这适用于nxp的任意矩阵,假设我平均n的列数显然可以被n整除
让我澄清一下:对于每一行,我要取前两列的平均值,然后取最后两列的平均值。所以应该是:
1+2/2,3+4/2<;-新矩阵的第1行 5+6/2、7+8/2<;-新矩阵的第2行等
这将产生一个4×2的矩阵而不是4×4。在
谢谢。在
对于n>;4的矩阵应该发生什么还不清楚,但是这段代码可以满足您的需要:
这将产生
^{pr2}$avg =
用点数学怎么样?您可以定义一个矩阵
M = [[0.5,0],[0.5,0],[0,0.5],[0,0.5]]
,这样A*M
就是您想要的。在生成M也很简单,条目是
1/n
或零。在改头换面
对任何数组大小都有效,而“整形”不会生成副本。在
相关问题 更多 >
编程相关推荐