python 三维矩阵乘以二维矩阵_二维numpy数组的乘法/除法生成三维数组
我正在寻找一种快速(即矢量化)的方法来替换下面的循环。我有两个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数组的乘法/除法生成三维数组相关推荐
- python脚本监控网站状态 - 赵海华_运维之路 - 51CTO技术博客
python脚本监控网站状态 - 赵海华_运维之路 - 51CTO技术博客 python脚本监控网站状态 2013-01-09 09:21:02 标签:监控 python 原创作品,允许转载,转载时请 ...
- 生成有时间限制的二维码_二维码竟有被用完的一天!看到截止日期后,网友:虚惊一场...
生活在现如今这样一个智能化的时代中,二维码已经逐渐成为了人们日常生活中必不可少的存在.出门骑共享单车要扫码.购物买东西要出示微信.支付宝付款码.聊天加好友同样也是要用到二维码,可以说现在的生活中已经无 ...
- java 二叉堆_二叉堆(三)之 Java的实现
概要 前面分别通过C和C++实现了二叉堆,本章给出二叉堆的Java版本.还是那句话,它们的原理一样,择其一了解即可. 二叉堆的介绍 二叉堆是完全二元树或者是近似完全二元树,按照数据的排列方式可以分为两 ...
- 网格化运维标书_运维网格化管理.ppt
运维网格化管理 运维网格化管理 2013年5月20日 内容 网格及网格管理简介 网格概念 网格标准与特征 网格分类 网格结构 网格应用 网格化管理 总行运维网格化管理的应用 --以生产运行室为例 &q ...
- c.kdocs cn二维码_二维码防窜货解决方案,物流动向尽在掌握
http://ccn.yesno.com.cn/zsfch/一物一码防窜货管理系统 二维码防窜货解决方案,处理各种窜货,阻止多地经销商窜货.窜货的情况经常发生,企业做不到各地的分销商都能全部管理.分销 ...
- python大数据运维工程师_运维工程师转型大数据怎么样
运维工作没意思,运维没有前途,运维会被取代--让很多的运维工程师感受到前途无"亮",随着资本寒冬的来临,以及各种新技术的不断出现,很多运维工程师开始走向了转型的道路.那么在如今的数 ...
- python运维管理系统_运维管理系统方案
- 运维管理系统方案 概述 伴随着企事业网络规模的不断扩大,企事业服务器的增多,企事业管理的信息化,企事业网络管理 也变的越来越重要.一旦网络.服务器.数据库.各种应用出现问题,常常会给企事业造成很大 ...
- 超维术士_超维计算及其在人工智能中的作用
超维术士 它是什么? (What is it?) Don't be intimidated by the name hyperdimensional computing-Even though it ...
- python可以做表格文档吗_生活中的python-利用python-docx自动生成表格简化工作流程...
因为工作原因,需要经常往两个word模板里填写内容并生成新的word文件,模板大致如下图: 老的工作流程: 打开两个表,在表中对应位置填写个人信息,保存.这样一来,当需要填写的信息比较多的时候,工作就 ...
最新文章
- PTA 03-树1 树的同构 (25分)
- vmware克隆虚拟机
- CompletableFuture源码详解之java.util.concurrent.CompletableFuture#runAsync(java.lang.Runnable)
- eclipse中护眼色设置
- 深信服安全软件产品配置概况
- 【渝粤题库】陕西师范大学180109 小学教师专业发展 作业
- AutoHotkey调用VBA实现批量精确筛选数据透视表某字段内容。
- java中自定义输入数字格式_Java 创建并使用自定义数字格式、35;###、####.#####和语言环境...
- oracle静默安装访问数据库慢,Oracle数据库静默安装总结
- mysql之触发器before和after的区别
- Unable to add window -- token android.os.BinderProxy---Android原生开发工作笔记142
- 【报告分享】智能时代的商业地产数字变革与发展报告.pdf(附下载链接)
- python 取余_Python-基本使用
- mac上配置mysql
- 小数保留4位_实验结果保留几位有效数字?
- matlab pn码捕获,直扩系统PN码捕获和跟踪的FPGA实现
- 超火动态表白H5源码
- vs2019专业版本 vtk安装
- tunnelbroker_通过OPNSense上的TunnelBroker进行IPv6
- kvm linux重置密码,超微主板使用ipmicfg重置IPMI密码