按索引条件筛选数组



我需要按索引条件过滤数组。numpy中有一个功能,如下所示:

np.where_index(lambda indices: indices[0]**2 + indices[1]**2 < 10, a)

(类似于按值np.where(a > 2, a)筛选(

您可以使用掩码来执行此操作,如下所示

arr = np.arange(25).reshape(5,5)
display(arr)
ind_x = np.arange(arr.shape[0]).reshape(-1,1)
ind_y = np.arange(arr.shape[1])
ind = (ind_x**2 + ind_y**2)<10
arr[ind]

最新更新