1 Star 0 Fork 55

zj507071 / AiLearning

forked from OpenDocCN / ailearning 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
036.md 1.23 KB
一键复制 编辑 原始数据 按行查看 历史
布客飞龙 提交于 2020-10-19 21:08 . 2020-10-19 21:08:55

对角线

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

In [1]:

import numpy as np

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

In [2]:

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

Out[2]:

array([[11, 21, 31],
       [12, 22, 32],
       [13, 23, 33]])

查看它的对角线元素:

In [3]:

a.diagonal()

Out[3]:

array([11, 22, 33])

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

In [4]:

a.diagonal(offset=1)

Out[4]:

array([21, 32])

In [5]:

a.diagonal(offset=-1)

Out[5]:

array([12, 23])

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

In [6]:

i = [0,1,2]
a[i, i]

Out[6]:

array([11, 22, 33])

可以更新对角线的值:

In [7]:

a[i, i] = 2
a

Out[7]:

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

修改次对角线的值:

In [8]:

i = np.array([0,1])
a[i, i + 1] = 1
a

Out[8]:

array([[ 2,  1, 31],
       [12,  2,  1],
       [13, 23,  2]])

In [9]:

a[i + 1, i] = -1
a

Out[9]:

array([[ 2,  1, 31],
       [-1,  2,  1],
       [13, -1,  2]])
Python
1
https://gitee.com/zj507071/AiLearning.git
git@gitee.com:zj507071/AiLearning.git
zj507071
AiLearning
AiLearning
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891