python - 将小的 np.array 添加到更大的 np.array

标签 python

R 中,我可以轻松地将较小的向量添加到较大的向量(假设较大向量的长度是较小向量长度的倍数)

a <- seq(1,10,1)
# [1]  1  2  3  4  5  6  7  8  9 10
b <- seq(1,2,1)
# [1] 1 2
a+b
# [1]  2  4  4  6  6  8  8 10 10 12

Python 中有没有一种简单的方法可以做到这一点?

import numpy as np
a = np.arange(1, 10)
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.arange(1,4)
# array([1, 2, 3])

我尝试过的

a + b?
np.add(a, b)?

最佳答案

NumPy 不会简单地假设您可能希望在将其添加到 a 之前重复 b,您必须自己告诉它这样做。

可以执行此操作的系统称为 broadcasting .您可以通过添加另一个长度与 b 完全相同的轴来创建一个二维数组。将 b 添加到该二维数组具有完全所需的行为。

然后我们将数组展平为一维。

(a.reshape(-1, len(b)) + b).ravel()

关于python - 将小的 np.array 添加到更大的 np.array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57843027/

相关文章:

python - 扭曲的 adbapi cp_reconnect 不工作

python - 如何使用 Robust PCA 输出作为传统 PCA 的主成分(特征)向量

python - 如何改进lda中不同主题的单词分配

python - 在 Python 中给定经纬度数据计算距离矩阵的有效方法

python - 当我尝试pygame时,打开窗口会关闭

python - 如何在 google appengine 上构建 python 代理服务器

python - 在 Python for ... 循环中测试空迭代器

python - 使用堆叠 conda 环境

python - `gcc`哪个版本支持 `--no-undefined`开关?

python - DJANGO:如何 list_display 反向外键属性?