numpy.diagflat#

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

创建一个以扁平化输入为对角线的二维数组。

参数:
v数组类

输入数据,将其展平并设置为输出的 k-th 对角线。

kint, optional

要设置的对角线;0(默认值)对应“主”对角线,正(负)k 表示主对角线上方(下方)的对角线编号。

返回:
outndarray

二维输出数组。

另请参阅

diag

MATLAB 兼容函数,用于一维和二维数组。

diagonal

返回指定的对角线。

trace

沿对角线求和。

示例

>>> import numpy as np
>>> np.diagflat([[1,2], [3,4]])
array([[1, 0, 0, 0],
       [0, 2, 0, 0],
       [0, 0, 3, 0],
       [0, 0, 0, 4]])
>>> np.diagflat([1,2], 1)
array([[0, 1, 0],
       [0, 0, 2],
       [0, 0, 0]])