如何计算沿ndarray的一维平方和?

时间:2019-04-26 08:28:19

标签: python numpy numpy-broadcasting

一个形状为(2,50,25,3)的多维矩阵:

xx = np.random.randn(2, 50, 25, 3)

我想计算最后一维的平方和。结果应该是形状为(2,50,25,1)的矩阵。

[np.sum(x) for x in np.square(features_displacement[0][0][:])[:]]

此代码可以成功计算一个尺寸,输出形状为(25,1)的列表,但是如何如上所述计算所有尺寸?

2 个答案:

答案 0 :(得分:0)

您可以沿所需的轴应用numpy函数,例如:

np.sum(np.square(xx), axis=3)

将产生形状为(2, 50, 25)的数组。不能完全确定这是您想要的,否则请更具体:-)

答案 1 :(得分:0)

使用此:

sum_of_squares = np.sum(np.square(features_displacement), axis=-1)