【发布时间】:2020-11-20 10:53:09
【问题描述】:
假设你有一个数组:
a =
[ 0,1,0]
[-1,2,1]
[3,-4,2]
假设你给所有东西加 20
b =
[ 20, 21, 20]
[ 19, 22, 21]
[ 23, 16, 22]
现在假设我想将结果 b 添加到原始数组 a 但仅在 a < 0 的情况下,即在索引 [0,1] 和 [1,2] 分别在 a = -1, -4 的情况下否则值为 0。最终导致这样的矩阵:
c =
[ 0, 0, 0]
[ 18, 0, 0]
[ 0, 12, 0]
18 = 19 (from b) + -1 (from a)
12 = 16 (from b) + -4 (from a)
并假设我希望能够将其扩展到任何操作(不仅仅是添加 20),这样您就不能只从矩阵 c 中过滤所有 a作为矩阵c的掩码,将i, j归零,其中a[i,j] < 0。
我很难找到一个简洁的例子来说明如何在 numpy 中使用 python 做到这一点。我希望您能指导我正确实施这种方法。
我正在努力将它变成一个掩码并且只对保留的值执行操作,最终导致c。
提前感谢您的帮助。
【问题讨论】: