mindspore.numpy.apply_along_axis
- mindspore.numpy.apply_along_axis(func1d, axis, arr, *args, **kwargs)[源代码]
- 在指定轴的一维切片上调用给定函数。执行 - func1d(a, *args, **kwargs),其中- func1d在一维数组上运算,- a是- arr沿着指定- axis的一维切片。- 参数:
- func1d (function) - Maps - (M,) -> (Nj…)。该函数仅接受输入为一维数组,应用于沿指定轴的- arr的一维切片。
- axis (int) - 指定 - arr所需切片的轴。
- arr (Tensor) - 输入的数组,且输入包含数组shape - (Ni…, M, Nk…)。
- args (any) - - func1d的附加参数。
- kwargs (any) - - func1d的附加命名参数。
 
- 返回:
- Tensor,shape为 - (Ni…, Nj…, Nk…),除了- axis那一维 ,它的shape与- arr的shape相同。- axis那一维被替换为- func1d的返回值shape。因此,如果- func1d返回标量,则输出的维度将比- arr少一个。
- 异常:
- ValueError - 如果 - axis超出索引范围。
 
- 支持平台:
- Ascend- GPU- CPU
 - 样例: - >>> import mindspore.numpy as np >>> b = np.array([[1,2,3], [4,5,6], [7,8,9]]) >>> print(np.apply_along_axis(np.diag, -1, b)) [[[1 0 0] [0 2 0] [0 0 3]] [[4 0 0] [0 5 0] [0 0 6]] [[7 0 0] [0 8 0] [0 0 9]]]