python - 如何从另一个数组中减去一个数组的每个元素?

标签 python numpy

我有两个不同大小的 Numpy 数组 A (n x 1) 和 B (m x 1)。我想从 A 的所有元素中减去 B 的每个元素。因此,结果矩阵 C (m x n) 的元素应计算为 c(i,j) = A(i)-B(j)。有没有使用 Numpy 的直接无循环计算?

最佳答案

广播:

A = np.array([1,2,3,4,5])
B = np.array([5,4,2,7])
A - B[:, np.newaxis]

输出:

array([[-4, -3, -2, -1,  0],
       [-3, -2, -1,  0,  1],
       [-1,  0,  1,  2,  3],
       [-6, -5, -4, -3, -2]])

关于python - 如何从另一个数组中减去一个数组的每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57114574/

相关文章:

python - Airflow ,标记任务成功或在 dag 运行之前跳过它

c++ - 将指针数组转换到其他对象?

python - numpy.unique 有 frozensets 的问题

x Axis 上的 Python 条形字符串

python - 基于类别更有效地分配 numpy 数组元素

python - 在 python 中排序元组列表

python - 找出 matplotlib 使用的字体

python - 在二维 numpy 数组上广播函数

python - pyqt5 QApplication.topLevelWidgets 问题

python - 如何从类似字符串的列访问值?