gpt4 book ai didi

python - Numpy 数组条件运算掩码?

转载 作者:太空宇宙 更新时间:2023-11-04 07:34:01 25 4
gpt4 key购买 nike

假设你有一个数组:

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 中过滤所有小于 20 的值。 .所以我想用矩阵 a作为矩阵 c 的掩码,将 i, j 归零其中 a[i,j] < 0 .

我很难找到一个简明示例来说明如何使用 python 在 numpy 中执行此操作。我希望您能指导我正确实现这种方法。

我努力得到的是将其放入掩码中并仅对保留值执行操作,最终导致 c .

提前感谢您的帮助。

最佳答案

大概是这样的:

(a + b)*(a<0)

应该可以工作,除非您对中间数组的数量有非常强烈的要求。

关于python - Numpy 数组条件运算掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40709176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com