python - Numpy矩阵乘以不同的列
问题描述
有没有一种快速简单的方法可以从 numpy 矩阵中乘以多列?我正在使用下面显示的代码,但我想知道 numpy 是否提供直接方法。
x = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
temp = np.ones(3)
for ind in [0,3]:
temp *= x[:,ind]
print(temp)
array([ 4., 40., 108.])
解决方案
使用numpy
索引和numpy.prod
. idx
可以是您的任意数量的列array
:
>>> idx = [0, 3]
>>> np.prod(x[:, idx], axis=1)
array([ 4, 40, 108])
也等价:
x[:, idx].prod(1)
推荐阅读
- python - Python 0365 以自己的身份登录并从用户那里获取日历
- elasticsearch - 外部浏览器无法访问 Kibana
- python - 在 Python 中运行 lmer(线性混合效应回归)
- python - Odoo 11 表格内的树分组(sale.order.line)
- sharepoint - 来自 Sharepoint Url 的 Microsoft 图形调用
- r - 如何将虚拟变量添加到具有特定特征的数据中
- arrays - C - 将文本文件中的字符串读入结构内的数组
- java - 从数据库获取后动态设置块大小
- spring-mvc - Spring MVC 5.3 URL解析URI模板变量问题
- c++ - 编写一个程序,给出温度始终高于 K 度的最长天数