python - Python 迭代矩阵

标签 python arrays matrix dot-product

如果我有两个列表并且想要迭代从另一个列表中减去一个列表,我将如何处理?我想到了广播。现在我有:

array1 = [0,2,2,0]
array2 = [2,2,0,1]

我想从 array2 中的每个值中减去 array1 并创建一个新的输出矩阵:

output = [2, 0, 0, 2,
          2, 0, 0, 2,
          0, -2, -2, 0,
          1, -1, -1, 1]

所以最终它是一个 4x4 矩阵。

这可能吗?使用广播是最简单的方法吗?我正在考虑将 array2 中的每一行值放入它自己的数组中,使用广播从 array2 中减去该值,然后将末尾的所有数组求和到一个大数组中(使用 Numpy)...有没有一种更简单的方法? >

如果我有两个列表并且想要迭代从另一个列表中减去一个列表,我将如何处理?我想到了广播。现在我有:

array1 = [0,2,2,0]
array2 = [2,2,0,1]

我想从 array2 中的每个值中减去 array1 并创建一个新的输出矩阵:

output = [2, 0, 0, 2,
          2, 0, 0, 2,
          0, -2, -2, 0,
          1, -1, -1, 1]

所以最终它是一个 4x4 矩阵。

这可能吗?使用广播是最简单的方法吗?我正在考虑将 array2 中的每一行值放入它自己的数组中,使用广播从 array2 中减去该值,然后将末尾的所有数组求和到一个大数组中(使用 Numpy)...有没有一种更简单的方法? >

最佳答案

使用numpy进行广播:

>>> a1 = np.array([0,2,2,0])
>>> a2 = np.array([2,2,0,1])
>>> a2[:, np.newaxis] - a1
array([[ 2,  0,  0,  2],
       [ 2,  0,  0,  2],
       [ 0, -2, -2,  0],
       [ 1, -1, -1,  1]])

关于python - Python 迭代矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44637166/

相关文章:

python - 将路径列表转换为python中的字典

javascript - JS/lodash - 转换对象集合

java - 用Java管理大矩阵的正确方法

python - 已知结构矩阵的 NumPy 矩阵乘法效率

python - 如何测试一个变量是否改变? Python

python - PySide-Qt : Could not initialize OLE (error 80010106)

arrays - 使用大小和默认值初始化数组

ruby - 获取矩阵的两条对角线

python - Django-Filter:ModelChoiceFilter 使用与当前用户相关的查询集

javascript - Angular 数组循环和排序函数