我有一个numpy数组,例如a(a.shape =(2,20,50,50))。我想在第二轴上应用一个函数。
我的功能是仅沿第二轴的每个元素之间的差异,即
res = a[:,i+1,:,:] - a[:,i,:,:] for i in range(20)
我已经尝试过使用lambda函数,但输出是一个列表。我希望结果的形状与a相同。这意味着我想要res.shape =(2,20,50,50)。
如果有人引导我,我很感激。
提前谢谢。
答案 0 :(得分:3)
您不需要申请功能。只需直接减去它们。
res = a[:,1:,:,:]-a[:,0:-1,:,:]
此外,你不会得到(2,20,50,50)ndarray但是(2,19,50,50)。