python - 如何按元素将 6 个元素的数组与 12 个元素的数组相乘,并重复较小的数组?

标签 python pandas numpy

我有一个数组 [x1, x2, x3, x4, x5, x6] 和另一个数组 [y1, y2, y3,...y12]。

我想按元素将两个数组相乘,以便得到如下数组: [x1*y1, x2*y2....x1*y7, x2*y8...x6*y12]

我认为 numpy 广播会处理它,但它需要它们具有相同的形状。

最佳答案

np.resize

x = np.array([1, 2, 3])
y = np.array([1, 2, 3, 4, 5, 6])

np.resize(x, y.size) * y

array([ 1,  4,  9,  4, 10, 18])

如果 y 的长度不是 x 长度的倍数,

np.resize 甚至可以工作。它将不断填充 x 中的值,循环遍历它们,直到达到与 y 匹配的长度。

x = np.array([1, 2, 3])
y = np.array([1, 2, 3, 4, 5, 6, 7, 8])

np.resize(x, y.size) * y

array([ 1,  4,  9,  4, 10, 18,  7, 16])

关于python - 如何按元素将 6 个元素的数组与 12 个元素的数组相乘,并重复较小的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56856572/

相关文章:

python - pandas中groupby处理 `category`类型时的性能

python - 如何返回一个以列表作为值的字典,但它只返回键

python - 如何在模型过滤器中过滤日期时间的工作日?

python - Pandas Groupby 并使用自定义值创建新列

python - 根据列值将 2 列分组为类别

python - 矩阵逐行索引

Python:xml ElementTree(或 lxml)中的命名空间

python - 如何解决线性回归中的 "Exception: Data must be 1-dimensional"?

python - 打印带有索引的 numpy 数组

python - 将列连接到矩阵(numpy)