numpy.diag()是一个用于返回矩阵对角线元素或创建对角阵(diagonalarray)的函数。下面通过例子来说明问题。
例子
首先引入numpy库并创建一个对角阵,如下所示:
importnumpyasnpxnp.diag((1,2,3))print(x)输出结果为:
[[100][020][003]]接下来,我们可以提取二维数组x的对角元素的值,构成一个一维数组。例如:
x(9).reshape((3,3))print(x)输出结果为:
[[012][345][678]]我们也可以使用第二个参数来获取其他元素。请自行观察这个值在x数组中的位置。
ynp.diag(x)print(y)输出结果为:
[048]如果连续使用两个diag函数,可以得到一个对角阵,除对角线以外的元素均为零。
x(10,19).reshape((3,3))print(x)输出结果为:
[[101112][131415][161718]]znp.diag(np.diag(x))print(z)输出结果为:
[[1000][0140][0018]]