Spec-Zone.ru › NumPy 2.0

numpy.reshape

numpy.reshape(a, newshape, order='C')[source]

Преобразует массив в новый вид без изменения данных.

Параметры:
aarray_like

Массив, подлежащий преобразованию.

newshapeint или кортеж из целых чисел

Новая форма должна быть совместима с исходной формой. Если целое число, то результат будет одномерным массивом указанной длины. Одно измерение формы может быть -1. В этом случае значение выводится из длины массива и оставшихся измерений.

order{‘C’, ‘F’, ‘A’}, необязательно

Читать элементы a с помощью этого порядка индексов и размещать элементы в преобразованном массиве с помощью этого порядка индексов. ‘C’ означает чтение/запись элементов с помощью индексации по типу C, при этом индекс последней оси изменяется быстрее, а индекс первой оси — медленнее. ‘F’ означает чтение/запись элементов с помощью индексации по типу Fortran, при этом первый индекс изменяется быстрее, а последний индекс — медленнее. Обратите внимание, что варианты ‘C’ и ‘F’ не учитывают структуру памяти базового массива и относятся только к порядку индексации. ‘A’ означает чтение/запись элементов в порядке индексации по типу Fortran, если a является Fortran contiguous в памяти, в противном случае — в порядке C.

Возвращает:
reshaped_arrayndarray

Если возможно, это будет новый объект представления; в противном случае это будет копия. Нет гарантии структуры памяти (C- или Fortran-contiguous) возвращаемого массива.

См. также

ndarray.reshape

Эквивалентный метод.

Примечания

Не всегда возможно изменить форму массива без копирования данных.

Ключевое слово order задаёт порядок индексации как для извлечения значений из a, так и для размещения значений в выходной массив. Например, предположим, что у вас есть массив:

>>> a = np.arange(6).reshape((3, 2))
>>> a
array([[0, 1],
       [2, 3],
       [4, 5]])

Можно представить преобразование формы как сначала раскручивание массива (с использованием заданного порядка индексов), а затем вставку элементов из раскрученного массива в новый массив с тем же порядком индексации, что и при раскручивании.

>>> np.reshape(a, (2, 3)) # C-like index ordering
array([[0, 1, 2],
       [3, 4, 5]])
>>> np.reshape(np.ravel(a), (2, 3)) # equivalent to C ravel then C reshape
array([[0, 1, 2],
       [3, 4, 5]])
>>> np.reshape(a, (2, 3), order='F') # Fortran-like index ordering
array([[0, 4, 3],
       [2, 1, 5]])
>>> np.reshape(np.ravel(a, order='F'), (2, 3), order='F')
array([[0, 4, 3],
       [2, 1, 5]])

Примеры

>>> a = np.array([[1,2,3], [4,5,6]])
>>> np.reshape(a, 6)
array([1, 2, 3, 4, 5, 6])
>>> np.reshape(a, 6, order='F')
array([1, 4, 2, 5, 3, 6])
>>> np.reshape(a, (3,-1))       # the unspecified value is inferred to be 2
array([[1, 2],
       [3, 4],
       [5, 6]])

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.reshape.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API