首页 > 解决方案 > 如何使用 numpy 结合给定规则的 2 个矩阵?

问题描述

我有两个矩阵。

a = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
]
b = [
  [0, 0, 100],
  [100, 0, 0],
  [0, 0, 100]
]

我想创建第三个矩阵,其中包含来自矩阵a的元素和来自矩阵的非零元素b

c = [
  [1, 2, 100],
  [100, 5, 6],
  [7, 8, 100]
]

我怎样才能做到这一点numpy?谢谢!

标签: pythonarraysalgorithmnumpymatrix

解决方案


您可以索引两个数组,其中b==0

# this assumes a and b are NumPy arrays
m = b==0
b[m] = a[m]

print(b)
array([[  1,   2, 100],
       [100,   5,   6],
       [  7,   8, 100]])

推荐阅读