numpy.trace#
- numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)[源代码]#
返回数组沿对角线的和.
如果 a 是二维数组,则返回沿其对角线(具有给定的偏移量)的和,即所有 i 的元素
a[i,i+offset]的和.如果 a 的维度超过两个,则由 axis1 和 axis2 指定的轴用于确定返回其迹的二维子数组.结果数组的形状与 a 的形状相同,但移除了 axis1 和 axis2 .
- 参数:
- aarray_like
输入数组,从中提取对角线.
- offsetint, optional
对角线相对于主对角线的偏移量.可以是正数也可以是负数.默认为 0.
- axis1, axis2int, optional
用作二维子数组的第一轴和第二轴的轴,应从中提取对角线.默认为 a 的前两个轴.
- dtypedtype,可选
确定返回数组和累加器(其中元素被求和)的数据类型.如果 dtype 的值为 None 并且 a 是精度低于默认整数精度的整数类型,则使用默认整数精度.否则,精度与 a 的精度相同.
- outndarray,可选
输出放入的数组.其类型被保留,并且它必须具有正确的形状才能容纳输出.
- 返回:
- sum_along_diagonalsndarray
如果 a 是二维数组,则返回沿对角线的和.如果 a 具有更大的维度,则返回沿对角线的和的数组.
示例
>>> import numpy as np >>> np.trace(np.eye(3)) 3.0 >>> a = np.arange(8).reshape((2,2,2)) >>> np.trace(a) array([6, 8])
>>> a = np.arange(24).reshape((2,2,2,3)) >>> np.trace(a).shape (2, 3)