當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。