为了账号安全,请及时绑定邮箱和手机立即绑定

将三角矩阵的元素放入向量中

将三角矩阵的元素放入向量中

慕娘9325324 2021-04-05 16:18:45
我正在尝试获得相关矩阵mS的上对角线元素。因此,我正在使用np.triu(我不想在对角线上放那些,所以我使用k = 1)。但是,我想将这些元素包含在向量中。我已经阅读了很多有关np.triu_indices的资料,但是代码不起作用,因为我得到了错误:一个具有多个元素的数组的真值是模棱两可的。使用a.any()或a.all()mS= [[1, .8, .6, .8, .7, .8, .6, .9, .5, .6, .8],      [.8, 1, .8, .5, .6, .7, .7, .8, .5, .8, .7],      [.6, .8, 1, .7, .8, .6, .7, .6, .7, .7, .9],      [.8, .5, .7, 1, .8, .6, .8, .7, .6, .9, .8],      [.7, .6, .8, .8, 1, .5, .8, .9, .9, .8, .6],      [.8, .7, .6, .6, .5, 1, .9, .7, .5, .9, .8],      [.6, .7, .7, .8, .8, .9, 1, .6, .8, .7, .7],      [.9, .8, .6, .7, .9, .7, .6, 1, .8, .6, .9],      [.5, .5, .7, .6, .9, .5, .8, .8, 1, .9, .8],      [.6, .8, .7, .9, .8, .9, .7, .6, .9, 1, .8],      [.8, .7, .9, .8, .6, .8, .7, .9, .8, .8, 1]]mS= np.array(mS)mSi= np.triu(mS, k=1).# Show mSimSi = array([[0. , 0.8, 0.6, 0.8, 0.7, 0.8, 0.6, 0.9, 0.5, 0.6, 0.8],   [0. , 0. , 0.8, 0.5, 0.6, 0.7, 0.7, 0.8, 0.5, 0.8, 0.7],   [0. , 0. , 0. , 0.7, 0.8, 0.6, 0.7, 0.6, 0.7, 0.7, 0.9],   [0. , 0. , 0. , 0. , 0.8, 0.6, 0.8, 0.7, 0.6, 0.9, 0.8],   [0. , 0. , 0. , 0. , 0. , 0.5, 0.8, 0.9, 0.9, 0.8, 0.6],   [0. , 0. , 0. , 0. , 0. , 0. , 0.9, 0.7, 0.5, 0.9, 0.8],   [0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.6, 0.8, 0.7, 0.7],   [0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.8, 0.6, 0.9],   [0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.9, 0.8],   [0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0.8],   [0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. , 0. ]]) vPR= np.triu_indices(mS, -55) This gives me the error 我想要一个数组(名为vPR),上面的所有triu元素都放入其中。希望有人能帮忙!
查看完整描述

2 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

函数np.triu_indices可为您提供对角线以上所有项目的索引列表。从三角矩阵开始,修剪左列和底行(因为它们包含全零),然后通过索引提取所有其他项:


np.triu(mS, k=1)[:-1, 1:][np.triu_indices(mS.shape[0] - 1)]

#array([ 0.8,  0.6,  0.8,  0.7,  0.8,  0.6,  0.9,  0.5,  0.6,  0.8,  0.8,

#        0.5,  0.6,  0.7,  0.7,  0.8,  0.5,  0.8,  0.7,  0.7,  0.8,  0.6...


查看完整回答
反对 回复 2021-04-27
  • 2 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号