Неизвестная сторона в NumPy
В кортеже формы вместо
числа можно указать -1. Тогда
reshape сама подберёт этот
размер так, чтобы общее число
элементов совпало с массивом.
У ряда из шести чисел зададим две строки, а число столбцов оставим на усмотрение функции. Выведем таблицу и форму:
import numpy as np
nums = np.array([1, 2, 3, 4, 5, 6])
table = np.reshape(nums, (2, -1))
print(table) # выведет [[1 2 3] [4 5 6]]
print(np.shape(table)) # выведет (2, 3)
Тот же приём работает, если неизвестным
сделать число строк. Зададим три
столбца и оставим вторую сторону
равной -1:
import numpy as np
nums = np.array([1, 2, 3, 4, 5, 6])
grid = np.reshape(nums, (-1, 3))
print(grid) # выведет [[1 2 3] [4 5 6]]
print(np.shape(grid)) # выведет (2, 3)
При двенадцати элементах форма
(-1, 3) даёт четыре строки.
Выведем результат:
import numpy as np
vals = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
block = np.reshape(vals, (-1, 3))
print(block)
print(np.shape(block)) # выведет (4, 3)
Создайте массив из чисел 1,
2, 3, 4, 5
и 6. Задайте
форму с двумя строками, а вторую
сторону обозначьте как -1.
Выведите таблицу и её форму.
Создайте массив из восьми чисел
0. Задайте форму (-1, 4)
и выведите форму результата.
Создайте массив из чисел 10,
20, 30, 40, 50
и 60. Задайте форму с тремя
столбцами, первую сторону оставьте
-1, выведите полученную таблицу.