![](/img/trans.png)
[英]Searching a Numpy Array for the index of a subarray based on a subarray of the subarray
[英]add numpy subarray to numpy array based on condition
我有一个 2d numpy 数组和一个 2d numpy 子数组,我想根据条件将其添加到原始数组。 我知道您可以像这样将 2d 子数组添加到数组中:
original_array[start_x:end_x, start_y:end_y] = sub_array
但我不知道如何有效地只添加大于 0 的 sub_array 值?
例子:
orginal_array = np.array([2,2],[2,2],[2,2],[2,2])
sub_array = np.array([0,0],[1,1],[0,1],[0,0])
expected_result = np.array([2,2], [1,1], [2,1], [2,2])
您可以根据条件>,< 0
进行索引并添加 arrays。
orginal_array * (sub_array <= 0) + sub_array * (sub_array > 0)
array([[2, 2],
[1, 1],
[2, 1],
[2, 2]])
另一种方法是使用np.where
function 作为:
np.where(sub_array > 0, sub_array, original_array)
Output:
array([[2, 2],
[1, 1],
[2, 1],
[2, 2]])
尝试,
sub_array2 = np.select([sub_array>0],[sub_array])
original_array[start_x:end_x, start_y:end_y] = sub_array2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.