请记住, np.delete(arr, ind) 删除索引处的元素ind
不是具有该价值的人。
这意味着当你删除东西时,数组会变得更短。所以你从
values = [0,1,2,3,4,5]
np.delete(values, 3)
[0,1,2,4,5] #deleted element 3 so now only 5 elements in the list
#tries to delete the element at the fifth index but the array indices only go from 0-4
np.delete(values, 5)
解决问题的方法之一是按降序对要删除的索引进行排序(如果您确实要删除数组)。
inds_to_delete = sorted([3,1,5], reverse=True) # [5,3,1]
# then delete in order of largest to smallest ind
Or:
inds_to_keep = np.array([0,2,4])
values = values[inds_to_keep]