python - 如何在 Python 中将不同形状的数组相乘?

标签 python arrays numpy

我正在尝试将两个具有两种不同形状的数组相乘:

np.shape(a) = (20,37,2,121,240)

np.shape(b) = (121,240)

我想将 a*b 相乘,其中只有两个相似元素 (121,240) 中的值相乘。数组“a”(20,37,2) 的前 3 个元素将保持不变。

除了使用 for 循环之外,还有更简单的方法吗?

最佳答案

Numpy 会自动广播,所以你应该可以这样做

a * b

例子:

In [1]: import numpy as np

In [2]: a = np.ones((20,37,2,121,240))

In [3]: b = np.ones(((121,240)))

In [4]: (a * b).shape
Out[4]: (20, 37, 2, 121, 240)

关于python - 如何在 Python 中将不同形状的数组相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54498109/

相关文章:

python - 在 Python 中绘制分段函数

python - 对包裹的 2D 数组中的子数组进行高效 Numpy 采样

Python Pandas df.ix 未按预期执行

python - 将字符串列表与字符串列表进行比较(python)

java - 取一个字符串并将其转换为二维数组 Java

java - 如何在 Java 中使用多行 lambda 表达式对 int[] 进行排序

c - 如何将一个字符串的副本插入另一个字符串?

python - np.exp 溢出解决方法

python - 在没有在线 plotly 帐户的情况下使用 plotly

python - 循环向量列表以创建每个向量的直方图