numpy.diag()
函数是 NumPy 库中的一个功能,用于从给定的二维数组中提取对角线元素,或者创建一个新的二维数组,其对角线元素为给定的一维数组
-
提取对角线元素:如果你有一个二维数组(通常是方阵),并且想要获取其主对角线上的所有元素,可以使用
numpy.diag()
函数。例如:import numpy as np A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) diagonal_elements = np.diag(A) print(diagonal_elements) # 输出:[1 5 9]
-
创建对角线矩阵:如果你有一个一维数组,并且想要创建一个对角线矩阵,其对角线元素为该一维数组的元素,可以使用
numpy.diag()
函数。例如:import numpy as np v = np.array([1, 2, 3]) diagonal_matrix = np.diag(v) print(diagonal_matrix) # 输出: # [[1 0 0] # [0 2 0] # [0 0 3]]
-
提取子对角线元素:
numpy.diag()
函数还可以用于提取子对角线元素。通过设置k
参数,可以指定要提取的对角线。例如:import numpy as np A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) subdiagonal_elements = np.diag(A, k=-1) print(subdiagonal_elements) # 输出:[4 8]
总之,numpy.diag()
函数在处理二维数组时非常有用,可以帮助你提取和操作对角线元素。