Я пытаюсь выяснить, как лучше всего исключить индексирование с помощью numpy, это желаемое поведение:
import numpy as np
a = np.random.randint(0,10,size=10)
print(a)
def fun(x, xs):
print(x,xs) #do some stuff
for i in range(a.shape[0]):
fun(a[i], a[np.arange(a.shape[0]) != i]) #this is all I can think of, but its horrid!
Есть ли лучший, более эффективный способ сделать это?
РЕДАКТИРОВАТЬ: Чтобы уточнить, вопрос, который, как мы надеемся, немного яснее:
У меня есть массив, и я хочу представление, в котором отсутствует 1 или более элементов в middle , напримерa = [1,2,3,4,5,...]
до a = [1,2,4,5,...]
. Согласно здесь причудливое индексирование / маскирование создает копию массива, я хочу избежать этого и избежать создания большого индексного массива. Заранее спасибо за помощь!