Предположим, у вас есть следующий Numpy массив,Pythonic способ нарезки из часть Numpy массива
>>> x = numpy.array([0,1,2,3,4,5,6,7,8,9,10])
и вы хотите, чтобы извлечь новый Numpy массив, состоящий из только первые три (3) и последние четыре (4) элементы, т.е.
>>> y = x[something]
>>> print y
[0 1 2 7 8 9 10]
Возможно ли это? Я знаю, что для извлечения первых трех чисел вы просто делаете x[:3]
и для извлечения последних четырех вы делаете x[-4:]
, но есть ли простой способ извлечь все это в простой фрагмент? Я знаю, что это может быть сделано, например, добавление обоих вызовов,
>>> y = numpy.append(x[:3],x[-4:])
но мне было интересно, если есть простой маленький трюк, чтобы сделать это в более прямой, вещий образом, без необходимости ссылаться x
снова (т.е. я сначала подумал, что может быть x[-4:3]
может работать, но я сразу понял, что это не имело смысла).
Вопрос подобен этому, но предлагаемые решения там не будут работать для более новых версий numpy, поэтому, вероятно, это уже не актуально. Все еще может быть интересно: http://stackoverflow.com/questions/13525266/multiple-slice-in-list-indexing-for-numpy-array – Wolph