Python 减去两个数组,仅保留另一个没有数据的值

Python 减去两个数组,仅保留另一个没有数据的值,python,arrays,numpy,Python,Arrays,Numpy,我一直在尝试将两个Numpy数组相减(并合并乘法等),这样得到的数组将只在其他数组没有数据的地方保留值 如果我有矩阵a和b,a-b会给出c: a = np.array([0,2,3,0]) b = np.array([1,0,3,0]) c = np.array([0,2,0,0]) 我已经尝试过用一个非常大的数字乘以b,但是我不知道如何去掉负值。还有一点是,数组a和b缺少值-999 非常感谢您的帮助!谢谢 这个怎么样 >>> a = np.array([0,2,3,0])

我一直在尝试将两个Numpy数组相减(并合并乘法等),这样得到的数组将只在其他数组没有数据的地方保留值

如果我有矩阵a和b,a-b会给出c:

a = np.array([0,2,3,0])
b = np.array([1,0,3,0])
c = np.array([0,2,0,0])
我已经尝试过用一个非常大的数字乘以b,但是我不知道如何去掉负值。还有一点是,数组a和b缺少值-999

非常感谢您的帮助!谢谢

这个怎么样

>>> a = np.array([0,2,3,0])
>>> b = np.array([1,0,3,0])
>>> a[b!=0] = 0
>>> a
array([0, 2, 0, 0])
这个怎么样

>>> a = np.array([0,2,3,0])
>>> b = np.array([1,0,3,0])
>>> a[b!=0] = 0
>>> a
array([0, 2, 0, 0])

另一个数组没有数据的位置-另一个数组是什么?a、 b,都是?如果b有值=在某个地方0,我需要从a(->c)创建一个新数组,这样它的0与b的值位于同一位置=0.如果另一个数组没有数据-什么其他数组?a、 b,都是?如果b有值=在某个地方0,我需要从a(->c)创建一个新数组,这样它的0与b的值位于同一位置=0.这似乎有效,谢谢!虽然我的脚本中有“AttributeError:‘int’object没有属性‘shape’”,但这可能与matplotlib和pcolormesh等有关。我应该将此标记为已回答吗?这是另一个问题,与此问题无关。您似乎在做
m.shape
,其中
m
是一个整数,而不是
ndarray
。是的,我知道这是另一个问题,感谢@AshwiniChaudhary提供快速有效的解决方案!我只是无法将它标记为我的手机已接听,所以我认为我缺乏足够的声誉或其他东西。有时候,一个人需要足够的声誉才能投下一个好的答案,这似乎是可行的,谢谢!虽然我的脚本中有“AttributeError:‘int’object没有属性‘shape’”,但这可能与matplotlib和pcolormesh等有关。我应该将此标记为已回答吗?这是另一个问题,与此问题无关。您似乎在做
m.shape
,其中
m
是一个整数,而不是
ndarray
。是的,我知道这是另一个问题,感谢@AshwiniChaudhary提供快速有效的解决方案!我只是无法将它标记为我的手机已接听,所以我认为我缺乏足够的声誉或其他东西。有时候,一个人需要足够的声誉才能投票选出一个好的答案,这是令人伤心的。