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

仅使用广播在指定的列向量处从矩阵中减去列向量

仅使用广播在指定的列向量处从矩阵中减去列向量

慕姐8265434 2021-08-17 15:54:14
我想使用另一个向量从 numpy 矩阵中减去一个列向量,该向量是需要从主矩阵中减去第一个列向量的列的索引。例如。M = array([[  1,   2,   1,   1],           [  2,   1,   1,   1],           [  1,   1,   2,   1],           [  2,   1,   1,   1],           [  1,   1,   1,   2]])  # An example matrixV = array([1, 1, 1, 1, 1]) # An example column vectorI = array([0, 3, 2, 3, 1, 3, 3]) # The index maxtrix现在我想在 I 中给出的列号处从 M 中减去 V。例如。I[0] 为 0,因此从矩阵 M 的第一列(零索引)中减去 V。同理 I[1] = 3,从矩阵 M 的第四列(三个索引)中减去 V。在操作结束时,由于 3 在 I 中出现了 4 次,所以 V 将从第三列中减去,即 M-4 次的最后一列。我需要只使用广播而不是循环来做到这一点。我尝试了以下方法:M[:, I] - V[np.newaxis, :].T但它最终会广播结果矩阵的列数比 M 中的列数多。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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