Numpy对角线

对角线

这里,使用与之前不同的导入方法:

import numpy as np

使用numpy中的函数前,需要加上 np.

a = np.array([11,21,31,12,22,32,13,23,33])
a.shape = 3,3
a
array([[11, 21, 31],
       [12, 22, 32],
       [13, 23, 33]])

查看它的对角线元素:
查看它的对角线元素:

a.diagonal()
array([11, 22, 33])

可以使用偏移来查看它的次对角线,正数表示右移,负数表示左移:
可以使用偏移来查看它的次对角线,正数表示右移,负数表示左移:

a.diagonal(offset=1)
array([21, 32])

​```python
a.diagonal(offset=-1)
array([12, 23])

可以使用花式索引来得到对角线:
可以使用花式索引来得到对角线:

i = [0,1,2]
a[i, i]
array([11, 22, 33])

可以更新对角线的值:
可以更新对角线的值:

a[i, i] = 2
a
array([[ 2, 21, 31],
       [12,  2, 32],
       [13, 23,  2]])

修改次对角线的值:
修改次对角线的值:

i = np.array([0,1])
a[i, i + 1] = 1
a
array([[ 2,  1, 31],
       [12,  2,  1],
       [13, 23,  2]])

​```python
a[i + 1, i] = -1
a
array([[ 2,  1, 31],
       [-1,  2,  1],
       [13, -1,  2]])

Author: Juntech
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source Juntech !
评论
  TOC