我需要按索引条件过滤数组。 numpy
中有如下功能:
np.where_index(lambda indices: indices[0]**2 + indices[1]**2 < 10, a)
?
(类似于按值np.where(a > 2, a)
进行过滤)
答案 0 :(得分:0)
您可以像下面这样使用遮罩
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]