mindspore.numpy.diff
- mindspore.numpy.diff(a, n=1, axis=- 1, prepend=None, append=None)[源代码]
- 计算沿给定 axis 的n阶离散差分。 - 一阶差分由 \(out[i] = a[i+1] - a[i]\) 给出,沿给定 axis,通过迭代使用 diff 计算更高阶的差分。 - 说明 - 由于MindSpore不支持zero-shaped的Tensor,如果遇到空Tensor将引发ValueError。 - 参数:
- a (Tensor) - 输入Tensor。 
- n (int, 可选) - 差分阶数。 如果为零,输出将按原样返回。 默认值:1。 
- axis (int, 可选) - 取差分的轴。 默认为最后一个轴。 默认值:-1。 
- prepend/append (Tensor, 可选) - 在执行差分之前在 axis 的前/后向 a 填充的值。 如果是标量值,会沿着 axis 方向填充,填充宽度为1,在所有其他方向上与输入数组shape相同的数组。否则,除了指定的 axis ,其余维度和shape必须与输入数组 a 匹配。 默认值: - None。
 
- 返回:
- n阶差分。 输出的shape除了在指定的 axis 方向上的维数比 a 小 n 外,其他与 a 相同。 输出的类型与 a 中任意两个元素之间差分的类型相同,在大多数情况下,与 a 的类型相同。 
- 异常:
- TypeError - 如果输入的类型不符合上述指定类型。 
- ValueError - 如果 n < 0。 
 
- 支持平台:
- Ascend- GPU- CPU
 - 样例: - >>> import mindspore.numpy as np >>> arr = np.array([1, 3, -1, 0, 4]) >>> print(np.diff(arr, n=2)) [-6 5 3]