import numpy as np values = np.arange(12) grid = values.reshape(3, 4) records = values.reshape(2, -1, 3) print("values shape:", values.shape) print("grid shape:", grid.shape) print(grid) print("records shape:", records.shape) print("same element count:", values.size == grid.size == records.size) print("shares memory:", np.shares_memory(values, grid)) try: values.reshape(5, 3) except ValueError as error: print("bad shape:", error)