Учитывая numpy ndarray
и индекс:
a = np.random.randint(0,4,(2,3,4))
idx = (1,1,1)
есть ли чистый способ получить подмассив 0D a
в idx
?
Что-то эквивалентное
a[idx + (None,)].squeeze()
но менее хакерский?
Обратите внимание, что @filippo умный
a[idx][...]
не эквивалентен. Во-первых, это не работает для массивов объектов. А если серьезно, он возвращает не подмассив, а новый массив:
b = a[idx][...]
b[()] = 7
a[idx] == 7
# False