numpy.diag

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.diag.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.diag(v, k=0)[source]

提取对角线或构造对角数组。

如果您使用此函数提取对角线并希望写入生成的数组,请参阅numpy.diagonal的更详细的文档;是否返回一个副本或视图取决于你使用的numpy版本。

参数:

v:array_like

如果v是2-D数组,则返回其k对角线的副本。如果v是1-D数组,则在k对角线上返回具有v的2-D数组。

k:int,可选

有问题的对角线。默认值为0。对于主对角线上方的对角线使用k> 0,对于主对角线下方的对角线使用k 。

返回:

out:ndarray

提取的对角线或构造的对角数组。

也可以看看

diagonal
返回指定的对角线。
diagflat
创建一个2-D数组,将扁平输入作为对角线。
trace
沿对角线求和。
triu
数组的上三角形。
tril
数组的下三角形。

例子

>>> x = np.arange(9).reshape((3,3))
>>> x
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> np.diag(x)
array([0, 4, 8])
>>> np.diag(x, k=1)
array([1, 5])
>>> np.diag(x, k=-1)
array([3, 7])
>>> np.diag(np.diag(x))
array([[0, 0, 0],
       [0, 4, 0],
       [0, 0, 8]])