Возможный метод, предполагающий, что у вас есть существующий массив NumPy a
, заключается в использовании slicing
и reshaping
:
Начальный массив
>>> a = np.array([1,2,3,4,5,6,7,8,9])
>>> a
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
Slicing
>>> A = a[2:-1]
>>> A
array([3, 4, 5, 6, 7, 8])
Изменение формы
>>> A.reshape((2, 3))
>>> A
array([[3, 4, 5],
[6, 7, 8]])
Приведенное выше решение предполагает, что вы знаете, какой индекс выбрать при выполнении нарезки.В этом случае я предположил, что мы знали, что элемент 3
находится во второй позиции индекса, и я предположил, что мы знали, что последний требуемый элемент 8
произошел со второй до последней позиции в массиве (по индексу -1
).Для ясности: нарезка начинается с заданного индекса, но идет вверх и не включает в себя вторую позицию индекса. И часто легче найти позицию индекса ближе к концу списка, считая в обратном порядке, используя отрицательные номера индекса, как я сделалВот.Альтернативой может быть использование позиции индекса последнего элемента, который является 8
:
A = a[2:8]
.
Однострочным решением будет последовательная цепочка вызовов методавместе:
Начальный массив
>>> a = np.array([1,2,3,4,5,6,7,8,9])
>>> a
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
Нарезка и изменение формы
>>> A = a[2:-1].reshape((2, 3))
>>> A
array([[3, 4, 5],
[6, 7, 8]])