Новая форма в NumPy
Чтобы задать массиву новую форму, используют функцию
reshape.
Она принимает массив
и кортеж размеров по осям. Число
элементов при этом не меняется:
меняется только раскладка по осям.
Возьмём ряд из шести чисел и зададим форму с двумя строками и тремя столбцами. Выведем таблицу и её форму:
import numpy as np
nums = np.array([1, 2, 3, 4, 5, 6])
table = np.reshape(nums, (2, 3))
print(table) # выведет [[1 2 3] [4 5 6]]
print(np.shape(table)) # выведет (2, 3)
Исходный ряд при этом остаётся одномерным. Общее число элементов совпадает у ряда и у таблицы:
import numpy as np
nums = np.array([1, 2, 3, 4, 5, 6])
table = np.reshape(nums, (2, 3))
print(nums.size) # выведет 6
print(table.size) # выведет 6
Ту же форму можно задать иначе: три строки и два столбца. Снова получится шесть ячеек:
import numpy as np
nums = np.array([1, 2, 3, 4, 5, 6])
grid = np.reshape(nums, (3, 2))
print(grid) # выведет [[1 2] [3 4] [5 6]]
print(np.shape(grid)) # выведет (3, 2)
Создайте массив из чисел 1,
2, 3, 4, 5
и 6. Превратите его в таблицу
из двух строк и трёх столбцов,
выведите таблицу и её форму.
Создайте массив из шести нулей.
Задайте ему форму (3, 2),
выведите результат и форму.
Создайте массив из шести единиц,
задайте форму (2, 3) и выведите
размер исходного массива и размер
полученной таблицы.