numpy.apply_over_axes #
- 麻木的。apply_over_axes ( func , a , axes ) [来源] #
在多个轴上重复应用函数。
func被称为res = func(a, axis),其中axis是axes的第一个元素。函数调用的结果res必须具有与a相同的维度或少一个维度。如果res 的维度比a少一维,则在axis之前插入一个维度 。然后对axes中的每个轴重复调用func ,并以res作为第一个参数。
- 参数:
- 函数函数
该函数必须采用两个参数func(a, axis)。
- 类似数组
输入数组。
- 类似数组的轴
应用func的轴;元素必须是整数。
- 返回:
- apply_over_axis ndarray
输出数组。维数与a相同,但形状可以不同。这取决于func是否 改变其输出相对于其输入的形状。
也可以看看
apply_along_axis
将函数沿给定轴应用于数组的一维切片。
笔记
此函数等效于 keepdims=True 的可重新排序 ufunc 的元组轴参数。 ufuncs 的元组轴参数自版本 1.7.0 起可用。
例子
>>> a = np.arange(24).reshape(2,3,4) >>> a array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]])
对轴 0 和 2 求和。结果与原始数组具有相同的维数:
>>> np.apply_over_axes(np.sum, a, [0,2]) array([[[ 60], [ 92], [124]]])
ufunc 的元组轴参数是等效的:
>>> np.sum(a, axis=(0,2), keepdims=True) array([[[ 60], [ 92], [124]]])