# Numpy array functions

Numpy array functions

# Numpy array functions

Here I will discuss a bunch of simple functions in numpy about array. By default, I assume that numpy is imported as `import numpy as np`.

## 1: Creating array/matrix

Normal Way: directly import from standard python array

``````a = np.array([1,2,3])
``````

Numpy functions: zeros, ones, full, random.random,eye

``````np.zeros((3,2)) # 3 rows 2 columns of 0's
np.ones((4,3)) # 4 rows 3 columns of 1's
np.full((3,2),7) # 3 rows 2 columns of 7's
np.random.random((2,3)) # 2 rows 3 columns of random number between 0 and 1
np.eye(4) # create a 4x4 identity matrix "I"
``````

## 2: Getting shapes of numpy array/matrix

You can get the shape of an array by using `my_array.shape`. It returns the dimensions of the array/matrix.

``````print(np.array([1,2,3]).shape)
print(np.array([[1,2],[3,4],[5,6]]).shape)
``````

When you execute it, python prints this:

``````(3,)
(3,2)
``````

The first array is regarded as one-dimension by numpy. But what if we want it to be a two-dimension matrix with one row or we want it to be reshaped vertically?

## 3: Reshaping array/matrix

reshape function returns a matrix with specified rows and columns. Either row or column argument can be set to -1 to indicate numpy to auto-calculate its size.

``````a = np.array([1,2,3,4,5,6])
a = a.reshape(3,-1) # reshape to matrix with 3 rows
# returns:
# array([[1, 2],
#        [3, 4],
#        [5, 6]])
a = a.reshape(-1,3) # reshape t matrix with 3 columns
# returns
# array([[1, 2, 3],
#        [4, 5, 6]])
``````

So to answer the question in the 2nd section, we can simply use `a = a.reshape(-1,1)` to make an array single-line vertical matrix.

Written with StackEdit.