Есть ли канонический способ получения 0D numpy subarray?

Paul Panzer спросил: 27 ноября 2017 в 05:42 в: python

При условии наличия большого числа 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


0 ответов