我正在寻找一种快速(即矢量化)的方法来替换下面的循环。我有两个numpy数组,尺寸分别为:(20738,14)和(31,14)。我需要将它们元素相乘得到一个数组(20738,31,14)。我一直在尝试各种各样的广播配置,但似乎无法得到想要的结果。

v_mu_3d = np.zeros((v.shape[0], ALT_LEN, NEST_LEN))

for k in range(NEST_LEN):

v_mu_3d[:,:,k] = v * MU[:,k]

v_mu_3d = np.exp(v_mu_3d)

类似的操作如下:

p2_3d = np.zeros((v.shape[0], ALT_LEN, NEST_LEN))

for j in range(ALT_LEN):

num = v_mu_3d[:,:,:].sum(axis=1)

temp_MU = MU[j,:]

num = ne.evaluate('where(temp_MU >0, num / temp_MU, 0)')

denom = num.sum(axis=1)

denom = denom[:, np.newaxis]

p2_3d[:, j, :] = num / denom

我可以将底部替换为:

p2_3d = v_mu_3d.sum(axis=1) / v_mu_3d.sum(axis=2).sum(axis=1)[:,None]

但似乎不知道:

num / MU

它应该取(20738,14)num数组,并将元素按(31,14)mu数组进行划分。repeat()可能有效,但速度很关键,因为包含函数在最小化例程中运行了几千次。

更新

根据Nils-Werner的回答,这些循环可以简化为:

1)

p1_3d = v_mu_3d / v_mu_3d.sum(axis=1)[:,None,:]

2)

num = v_mu_3d.sum(axis=1)

num = np.where(MU>0, num[:,None,:] / MU, 0)

p2_3d = num / num.sum(axis=1)[:,None,:]

python 三维矩阵乘以二维矩阵_二维numpy数组的乘法/除法生成三维数组相关推荐

  1. python脚本监控网站状态 - 赵海华_运维之路 - 51CTO技术博客

    python脚本监控网站状态 - 赵海华_运维之路 - 51CTO技术博客 python脚本监控网站状态 2013-01-09 09:21:02 标签:监控 python 原创作品,允许转载,转载时请 ...

  2. 生成有时间限制的二维码_二维码竟有被用完的一天!看到截止日期后,网友:虚惊一场...

    生活在现如今这样一个智能化的时代中,二维码已经逐渐成为了人们日常生活中必不可少的存在.出门骑共享单车要扫码.购物买东西要出示微信.支付宝付款码.聊天加好友同样也是要用到二维码,可以说现在的生活中已经无 ...

  3. java 二叉堆_二叉堆(三)之 Java的实现

    概要 前面分别通过C和C++实现了二叉堆,本章给出二叉堆的Java版本.还是那句话,它们的原理一样,择其一了解即可. 二叉堆的介绍 二叉堆是完全二元树或者是近似完全二元树,按照数据的排列方式可以分为两 ...

  4. 网格化运维标书_运维网格化管理.ppt

    运维网格化管理 运维网格化管理 2013年5月20日 内容 网格及网格管理简介 网格概念 网格标准与特征 网格分类 网格结构 网格应用 网格化管理 总行运维网格化管理的应用 --以生产运行室为例 &q ...

  5. c.kdocs cn二维码_二维码防窜货解决方案,物流动向尽在掌握

    http://ccn.yesno.com.cn/zsfch/一物一码防窜货管理系统 二维码防窜货解决方案,处理各种窜货,阻止多地经销商窜货.窜货的情况经常发生,企业做不到各地的分销商都能全部管理.分销 ...

  6. python大数据运维工程师_运维工程师转型大数据怎么样

    运维工作没意思,运维没有前途,运维会被取代--让很多的运维工程师感受到前途无"亮",随着资本寒冬的来临,以及各种新技术的不断出现,很多运维工程师开始走向了转型的道路.那么在如今的数 ...

  7. python运维管理系统_运维管理系统方案

    - 运维管理系统方案 概述 伴随着企事业网络规模的不断扩大,企事业服务器的增多,企事业管理的信息化,企事业网络管理 也变的越来越重要.一旦网络.服务器.数据库.各种应用出现问题,常常会给企事业造成很大 ...

  8. 超维术士_超维计算及其在人工智能中的作用

    超维术士 它是什么? (What is it?) Don't be intimidated by the name hyperdimensional computing-Even though it ...

  9. python可以做表格文档吗_生活中的python-利用python-docx自动生成表格简化工作流程...

    因为工作原因,需要经常往两个word模板里填写内容并生成新的word文件,模板大致如下图: 老的工作流程: 打开两个表,在表中对应位置填写个人信息,保存.这样一来,当需要填写的信息比较多的时候,工作就 ...

最新文章

  1. PTA 03-树1 树的同构 (25分)
  2. vmware克隆虚拟机
  3. CompletableFuture源码详解之java.util.concurrent.CompletableFuture#runAsync(java.lang.Runnable)
  4. eclipse中护眼色设置
  5. 深信服安全软件产品配置概况
  6. 【渝粤题库】陕西师范大学180109 小学教师专业发展 作业
  7. AutoHotkey调用VBA实现批量精确筛选数据透视表某字段内容。
  8. java中自定义输入数字格式_Java 创建并使用自定义数字格式、35;###、####.#####和语言环境...
  9. oracle静默安装访问数据库慢,Oracle数据库静默安装总结
  10. mysql之触发器before和after的区别
  11. Unable to add window -- token android.os.BinderProxy---Android原生开发工作笔记142
  12. 【报告分享】智能时代的商业地产数字变革与发展报告.pdf(附下载链接)
  13. python 取余_Python-基本使用
  14. mac上配置mysql
  15. 小数保留4位_实验结果保留几位有效数字?
  16. matlab pn码捕获,直扩系统PN码捕获和跟踪的FPGA实现
  17. 超火动态表白H5源码
  18. vs2019专业版本 vtk安装
  19. tunnelbroker_通过OPNSense上的TunnelBroker进行IPv6
  20. kvm linux重置密码,超微主板使用ipmicfg重置IPMI密码

热门文章

  1. 日式键盘与美式键盘转换
  2. keil5识别不了记事本改的.c文件解决办法
  3. iOS 获取汉字拼音首字母
  4. uni-app 引入线上的阿里 iconfont图标库
  5. 青少年蓝桥杯python组(STEMA中级组)
  6. 十年前只想混一个Apache邮箱装逼,十年后却成了顶级项目创始人
  7. 推荐系统中的召回和排序
  8. python实现图(卖芒果)
  9. 分享8个有趣的python小玩具
  10. 理解回溯算法——回溯算法的初学者指南