当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.array.apply_over_axes用法及代码示例


用法:

dask.array.apply_over_axes(func, a, axes)

在多个轴上重复应用一个函数。

此文档字符串是从 numpy.apply_over_axes 复制的。

可能存在与 Dask 版本的一些不一致之处。

func 被称为 res = func(a, axis) ,其中 axisaxes 的第一个元素。函数调用的结果res 必须具有与a 相同的维度或少一维。如果 resa 少一个维度,则在 axis 之前插入一个维度。然后对 axes 中的每个轴重复对 func 的调用,并将 res 作为第一个参数。

参数

func函数

此函数必须采用两个参数 func(a, axis)

aarray_like

输入数组。

axesarray_like

应用func 的轴;元素必须是整数。

返回

apply_over_axisndarray

输出数组。维数与 a 相同,但形状可以不同。这取决于func 是否改变其输出相对于其输入的形状。

注意

此函数等效于 keepdims=True 的可重新排序 ufunc 的元组轴参数。 ufunc 的元组轴参数从 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]]])

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.apply_over_axes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。