我有3个矩阵(np数组):

A是形状(n,m); B的形状为(m,k);和C的形状(n,k)

矩阵C只有集合{-1,0,1}中的值,它是某种类型的“指标”:如果C [i,j] == 1那么我想将第i行添加到b的第j列;如果C [i,j] ==( – 1)则减去(0不做任何事).

它可以很容易地用循环来完成,但我想知道是否有一种矢量化的方式可以做得更快?

示例代码:

C = np.array([[-1, 0, 0, 0, 1],

[ 0, 0, 0, 0, -1],

[ 0, 0, 0, 0, -1],

[-1, 0, 0, 1, 1]])

a,b = np.where(C==1)

#here a=[0,3,3] and b=[4,3,4]

A[a,:] = [[0, 1, 2, 3, 4, 5, 6],

[3, 3, 3, 3, 3, 3, 3],

[3, 3, 3, 3, 3, 3, 3]]

B[:,b] += A[a] #B is all 0.0 before

预期结果:

array([[ 0., 0., 0., 3., 3.],

[ 0., 0., 0., 3., 4.],

[ 0., 0., 0., 3., 5.],

[ 0., 0., 0., 3., 6.],

[ 0., 0., 0., 3., 7.],

[ 0., 0., 0., 3., 8.],

[ 0., 0., 0., 3., 9.]])

实际结果:

array([[ 0., 0., 0., 3., 3.],

[ 0., 0., 0., 3., 3.],

[ 0., 0., 0., 3., 3.],

[ 0., 0., 0., 3., 3.],

[ 0., 0., 0., 3., 3.],

[ 0., 0., 0., 3., 3.],

[ 0., 0., 0., 3., 3.]])

python对矩阵部分求和_python – numpy求和矩阵 – 按索引排相关推荐

  1. python矩阵后加点_Python Numpy和矩阵的相关面试问题

    通常,数据科学家被要求在Python中执行简单的矩阵运算,这应该很简单,但许多人会偏离正轨. 本文将介绍面试中经常出现的4个Numpy/matrix问题,并用Python编写代码. 问题1: 给定4x ...

  2. python np array 减去一个数_python numpy减去矩阵元素

    使用numpy,我如何相互减去矩阵的numpy数组的元素? a = np.array([ [ [1., 2., 3.], [4., 5., 6.], [7., 8., 9.] ], [ [20., 2 ...

  3. python与机器学习(二)Numpy / Pandas /矩阵相乘速度对比

    NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. NumPy的官方文档:https://nump ...

  4. python取矩阵的一部分_Python 实现取矩阵的部分列,保存为一个新的矩阵方法

    Python 实现取矩阵的部分列,保存为一个新的矩阵方法 首先输入一个矩阵: >>> b=[[1,2,3,4,5,6],[2,2,3,4,5,6],[3,2,3,4,5,6],[4, ...

  5. python矩阵变化_用numpy改变矩阵的形状

    我的问题有两个方面.我有下面的代码来处理一些矩阵.在import numpy tupleList = [(0, 122), (1, 246), (2, 157), (3, 166), (4, 315) ...

  6. python中tan怎么表示_Python numpy.tan()用法及代码示例

    numpy.tan(array [,out])= ufunc'tan'):此数学函数可帮助用户计算所有x(作为数组元素)的三角切线. 参数: array :[array_like]elements a ...

  7. python中cos怎么表示_Python numpy.cos()用法及代码示例

    numpy.cos(x [,out])= ufunc'cos'):此数学函数可帮助用户计算所有x(作为数组元素)的三角余弦. 参数: array :[array_like]elements are i ...

  8. python数组求和_Python NumPy中的数组求和函数sum | 坐倚北风

    在Python中可以使用NumPy中的sum函数来进行数值求和,sum方法的格式如下: numpy.sum(a, axis=None, dtype=None, out=None, keepdims=, ...

  9. python多条件求和_python – Numpy:条件求和

    我有以下numpy数组: import numpy as np arr = np.array([[1,2,3,4,2000], [5,6,7,8,2000], [9,0,1,2,2001], [3,4 ...

最新文章

  1. 客快物流大数据项目(五十):项目框架初始化
  2. 特来电自动运维应用实践
  3. Redis集群技术及Codis实践
  4. lombok依赖_公司来了个新同事不会用 Lombok,还说我代码有问题
  5. css控制 区域 圆角 显示
  6. linux文件系统和mount(硬盘,win分区,光驱,U盘)
  7. sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
  8. python:坦克大战源代码
  9. WGS84与GCJ02经纬度坐标转换介绍
  10. redis命令之string类型mset命令用法详情
  11. javascript nonono
  12. 微步在线安全事件分析:全球数亿主机被FireBall攻陷
  13. 西南交大计算机绘图b,网络大学西南交大离线作业计算机绘图B
  14. 中国-省-市三级地图及世界地图在线编辑可视化工具上线
  15. 操作系统--01计算机系统概述
  16. android关于消防栓的正确使用
  17. 【蓝桥杯国赛真题08】python约分 蓝桥杯青少年组python编程 蓝桥杯国赛真题解析
  18. (转)连续信号(八)| 傅里叶变换的性质 | 积分、微分特性 + 时域、频域卷积 + 帕斯瓦尔
  19. face++人脸识别接口实现原理(一)
  20. java liferay 框架_liferay6.2-生成布局模板

热门文章

  1. OSPF的知识点总结及其扩展
  2. Hadoop系列(一)——HDFS总结
  3. 疫后新基建:加快从半工业半信息社会到智能社会
  4. 美颜SDK免费版怎么样?应该如何选择美颜SDK?
  5. c语言二级程序设计题难吗,c语言二级公共基础知识试题特点
  6. 数模备战——基础知识笔记
  7. oracle怎么使用Xmanager,Xmanager使用总结
  8. [Sass常见用法] Css代码的Sass打开方式
  9. 一个简单的网页登陆(html)
  10. L1-6 吉老师的回归 (15 分)