numpy:将两个数组的一些元素复制到另一个数组中

时间:2017-12-28 04:04:08

标签: numpy

我有两个数组,我希望创建一个额外的数组,它将复制两个数组中的一些值:

a = np.array([1,-2,-3,-3])
b = np.array([-2,1,-3,-2])

希望得到:

np.array([1,1,-3,-2])

我只是想从两个数组中获取值1到另一个数组。复制负数无关紧要,因为它们被掩盖在路上。

1 个答案:

答案 0 :(得分:0)

感谢@ shridhar-r-kulkarni要求更多细节,而不是简单地投票。它慢慢思考我的想法,所以我可以解决它。

a = np.array([1,-2,-3,-3])
b = np.array([-2,1,-3,-2])
c= np.full_like(a, np.nan, dtype=np.double)
# Find which indices in a has values > 0
c[np.where(a > 0)] = a[np.where(a > 0)]
# Find which indices in b has values > 0
c[np.where(b > 0)] = b[np.where(b > 0)]
# c is array([  1.,   1.,  nan,  nan])