Метод reshape класса ndarray
Метод reshape изменяет форму массива на новую, указанную в параметрах. Метод принимает кортеж или отдельные числа, задающие новую форму. Возвращает новое представление массива с измененной формой (если возможно) или копию. Количество элементов должно совпадать с исходным массивом. Параметр order определяет порядок чтения элементов.
Синтаксис
arr.reshape(shape, [order])
Пример
Преобразуем одномерный массив в двумерный:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
res = arr.reshape(2, 3)
print(res)
Результат выполнения кода:
[[1 2 3]
[4 5 6]]
Пример
Используем параметр -1 для автоматического вычисления размера:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
res = arr.reshape(3, -1)
print(res)
Результат выполнения кода:
[[1 2]
[3 4]
[5 6]]
Пример
Преобразуем двумерный массив в одномерный:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = arr.reshape(-1)
print(res)
Результат выполнения кода:
[1 2 3 4 5 6]
Пример
Изменение порядка чтения с помощью параметра order:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
res_c = arr.reshape(2, 3, order='C')
res_f = arr.reshape(2, 3, order='F')
print("C order (row-major):")
print(res_c)
print("F order (column-major):")
print(res_f)
Результат выполнения кода:
C order (row-major):
[[1 2 3]
[4 5 6]]
F order (column-major):
[[1 3 5]
[2 4 6]]