python中diag函数
时间: 2023-10-24 13:08:38 浏览: 67
在Python中,diag函数是numpy库中的一个函数,用于从一个二维数组中提取对角线元素或构造一个新的对角线数组。
具体来说,diag函数有两种用法:
1. 提取对角线元素:当输入为一个二维数组时,diag函数会返回该数组的对角线元素,以一维数组的形式表示。例如:
```
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.diag(a)) # 输出 [1 5 9]
```
2. 构造对角线数组:当输入为一个一维数组时,diag函数会返回一个以该数组为对角线元素的二维数组。例如:
```
import numpy as np
a = np.array([1, 2, 3])
print(np.diag(a)) # 输出 [[1 0 0]
# [0 2 0]
# [0 0 3]]
```
需要注意的是,当输入为一个整数n时,diag函数会返回一个n×n的空白二维数组,其中除了对角线上的元素为1之外,其余元素均为0。例如:
```
import numpy as np
print(np.diag(3)) # 输出 [[1 0 0]
# [0 1 0]
# [0 0 1]]
```
相关问题
python np.diag
`np.diag` 是 NumPy 库中的一个函数,可以用于创建对角矩阵或提取矩阵的对角线元素。
创建对角矩阵:
```python
import numpy as np
# 创建一个3x3的对角矩阵,对角线元素为 [1, 2, 3]
diag_matrix = np.diag([1, 2, 3])
print(diag_matrix)
```
输出:
```
[[1 0 0]
[0 2 0]
[0 0 3]]
```
提取矩阵的对角线元素:
```python
import numpy as np
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 提取矩阵的对角线元素
diagonal = np.diag(matrix)
print(diagonal)
```
输出:
```
[1 5 9]
```
希望能够帮到你!如果有其他问题,请随时提问。
Python numpy.diag
numpy.diag 是一个函数,用于从给定数组的对角线元素创建一个对角线数组或将一个二维数组的对角线元素提取为一维数组。如果传递给 numpy.diag 的参数是一维数组,则返回一个二维数组,其中数组的对角线是输入数组的元素。如果传递给 numpy.diag 的参数是二维数组,则返回一个一维数组,其中包含输入数组的对角线元素。
示例:
```python
import numpy as np
arr1 = np.array([1, 2, 3])
result1 = np.diag(arr1)
print(result1)
# Output:
# [[1 0 0]
# [0 2 0]
# [0 0 3]]
arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
result2 = np.diag(arr2)
print(result2)
# Output:
# [1 5 9]
```