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