我有把numpy数组作为参数的函数,例如:
def f(arr):
return arr.sum()
我想从A中的每个vec创建numpy数组,所以如果A.shape = (14,12,7)
,我的函数myfunc(A).shape = (14,12)
即
myfunc(A)[x, y] = f(A[x, y])
请注意,未指定len(A.shape)
。
答案 0 :(得分:1)
您可以沿最后一轴应用sum:
A.sum(axis=-1)
例如:
In [1]: np.ones((14,12,7)).sum(axis=-1).shape
Out[1]: (14, 12)
如果您有通用功能,可以使用apply_along_axis:
np.apply_along_axis(sum, -1, A)