Numpy take не может индексировать с помощью срезаPython

Программы на Python
Ответить
Anonymous
 Numpy take не может индексировать с помощью среза

Сообщение Anonymous »

Согласно документации numpy для take
он делает то же самое, что и «модная» индексация (индексация массивов с использованием массивов). Однако его может быть проще использовать, если вам нужны элементы вдоль заданной оси.

Однако, в отличие от «причудливой» или обычной индексации numpy, использование срезов в качестве индексов кажется не поддерживается:

Код: Выделить всё

In [319]: A = np.arange(20).reshape(4, 5)

In [320]: A[..., 1:4]
Out[320]:
array([[ 1,  2,  3],
[ 6,  7,  8],
[11, 12, 13],
[16, 17, 18]])

In [321]: np.take(A, slice(1, 4), axis=-1)
TypeError: long() argument must be a string or a number, not 'slice'
Как лучше всего индексировать массив, используя срезы вдоль оси, известной только во время выполнения?

Подробнее здесь: https://stackoverflow.com/questions/286 ... sing-slice
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»