python+numpy.diag()使用方法

diag()方法比较有意思,主要用于以下两个方面:
1.对1xn矩阵来说,会生成一个将1xn矩阵元素作为对角线的nxn矩阵

import numpy as np
b=[1,2,3,4]
a=np.diag(b,k=0)
print(a)

结果为
[[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]

2.对nxn矩阵来说,会取对角线元素生成1xn的矩阵:

import numpy as np
b=np.array([[1,2,3,4],
            [4,6,8,10],
            [5,7,6,9],
            [10,15,8,2]])
a=np.diag(b,k=0)
print(a)
结果为
[1 6 6 2]

k值决定取值在对角线的右上位置或者左下位置。
k=0,对角线
k=-1,对角线左下角1格
k=1,对角线右上角1格
k=n,
k=-n,
同理

import numpy as np
b=np.array([[1,2,3,4],
            [4,6,8,10],
            [5,7,6,9],
            [10,15,8,2]])
a=np.diag(b,k=-1)
print(a)

结果为
[4 7 8]
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值