📜  Python中的numpy.diag(1)

📅  最后修改于: 2023-12-03 15:34:25.257000             🧑  作者: Mango

Python中的numpy.diag

numpy.diag是numpy库中的一个函数,用于创建一个矩阵的对角线数组,或者从一个数组中提取一个对角线数组。

语法
numpy.diag(v, k=0)

其中,参数说明如下:

  • v: 可以是一个一维数组,表示对角线数组;也可以是一个矩阵,表示取出对角线数组。
  • k: 整数类型,表示对角线位置的偏移量。默认值是0, 表示从主对角线开始;正整数表示上对角线,负整数表示下对角线。
返回值

返回一个新的二维数组,其中除了对角线数组以外,其他所有元素都是0或常数c。

示例
import numpy as np

# 从一维数组中创建对角线数组
v = np.array([1, 2, 3])
d = np.diag(v)
print(d)

# 从矩阵中获取对角线数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
d = np.diag(a)
print(d)

# 获取对角线数组的偏移值
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
d = np.diag(a, k=1)
print(d)

输出:

[[1 0 0]
 [0 2 0]
 [0 0 3]]
[1 5 9]
[2 6]

从上述示例中可以看出,通过numpy.diag函数,我们可以方便地创建一个对角线数组,或者从一个矩阵中提取出对角线数组。同时,我们也可以通过k参数来获取指定偏移量的对角线数组,非常灵活。