我需要按索引条件过滤数组。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]