xxxxxxxxxx
""" assuming that v is a numpy array with shape (N, ) """
new_v = v.reshape(-1, 1) # new_v.shape is (N, 1)
xxxxxxxxxx
import numpy as np
# 2d array
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
# print 2d array shape
print(arr.shape)
# output (2, 4)
# 4 dimension array
arr = np.array([1, 2, 3, 4], ndmin=4)
print(arr)
print('shape of array :', arr.shape)
# reshape array
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
arr = arr.reshape(4, 3)
print(arr)
# output
# [[ 1 2 3]
# [ 4 5 6]
# [ 7 8 9]
# [10 11 12]]
# reshape uneven array
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
arr = arr.reshape(4, 3)
print(arr)
# output ValueError: cannot reshape array of size 11 into shape (4,3)
xxxxxxxxxx
import numpy as np
# 2 X 3 matrix = 6 items
arr = np.array([[1, 2, 3], [4, 5, 6]])
# reshaping a matrix with -1 will let the function know that this dimension is not currently know
# x X 1 = 6 => x = 6
# therefore, by the end of this function, the new output will be 6 X 1 matrix
arr.reshape(-1, 1)
xxxxxxxxxx
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]])
xxxxxxxxxx
a.reshape(3, -1)
array([[3., 7., 3., 4.],
[1., 4., 2., 2.],
[7., 2., 4., 9.]])
# if -1 is given then numpy will calculate the shape of the other dimensions
xxxxxxxxxx
a.ravel() # returns the array, flattened
array([3., 7., 3., 4., 1., 4., 2., 2., 7., 2., 4., 9.])
>>> a.reshape(6, 2) # returns the array with a modified shape
array([[3., 7.],
[3., 4.],
[1., 4.],
[2., 2.],
[7., 2.],
[4., 9.]])
>>> a.T # returns the array, transposed
array([[3., 1., 7.],
[7., 4., 2.],
[3., 2., 4.],
[4., 2., 9.]])
>>> a.T.shape
(4, 3)
>>> a.shape
(3, 4)
xxxxxxxxxx
>>> 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]])
xxxxxxxxxx
a
array([[3., 7., 3., 4.],
[1., 4., 2., 2.],
[7., 2., 4., 9.]])
>>> a.resize((2, 6))
>>> a
array([[3., 7., 3., 4., 1., 4.],
[2., 2., 7., 2., 4., 9.]])
xxxxxxxxxx
# Welcome to softhunt.net
# Python Program illustrating
# numpy.reshape() method
import numpy as np
# array = np.arrange(8)
# The 'numpy' module has no attribute 'arrange'
array1 = np.arange(8)
print("Original array : \n", array1)
# shape array with 3 rows and 3 columns
array2 = np.arange(8).reshape(2, 4)
print("\narray reshaped with 2 rows and 4 columns : \n",
array2)
# shape array with 4 rows and 2 columns
array3 = np.arange(8).reshape(4, 2)
print("\narray reshaped with 4 rows and 2 columns : \n",
array3)
# Constructs 3D array
array4 = np.arange(8).reshape(2, 2, 2)
print("\nOriginal array reshaped to 3D : \n",
array4)