溫馨提示×

python diag函數(shù)的語法結(jié)構(gòu)解析

小樊
83
2024-09-06 15:40:41
欄目: 編程語言

numpy.diag() 是一個 Python 函數(shù),它屬于 NumPy 庫。該函數(shù)用于從給定的二維數(shù)組中提取對角線元素,或者創(chuàng)建一個新的二維數(shù)組,其對角線上的元素為給定的一維數(shù)組。

語法結(jié)構(gòu)

numpy.diag(v, k=0)

參數(shù):

  • v:一個一維或二維數(shù)組。如果是一維數(shù)組,則會創(chuàng)建一個新的二維數(shù)組,其對角線上的元素為 v。如果是二維數(shù)組,則會提取其對角線元素。
  • k(可選):表示要提取或設(shè)置的對角線的索引。默認值為 0,表示主對角線。正值表示上對角線,負值表示下對角線。

返回值:

  • 如果輸入?yún)?shù) v 是一個一維數(shù)組,則返回一個新的二維數(shù)組,其對角線上的元素為 v。
  • 如果輸入?yún)?shù) v 是一個二維數(shù)組,則返回一個一維數(shù)組,包含 v 的對角線元素。

示例

  1. 從二維數(shù)組中提取對角線元素:
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
diag_elements = np.diag(arr)
print(diag_elements)  # 輸出:[1 5 9]
  1. 創(chuàng)建一個新的二維數(shù)組,其對角線上的元素為給定的一維數(shù)組:
import numpy as np

arr = np.array([1, 2, 3])
diag_matrix = np.diag(arr)
print(diag_matrix)
# 輸出:
# [[1 0 0]
#  [0 2 0]
#  [0 0 3]]
  1. 提取二維數(shù)組的上對角線元素:
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
upper_diag_elements = np.diag(arr, k=1)
print(upper_diag_elements)  # 輸出:[2 6]
  1. 提取二維數(shù)組的下對角線元素:
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
lower_diag_elements = np.diag(arr, k=-1)
print(lower_diag_elements)  # 輸出:[4 8]

0