# Numpy Basics

In this Numpy cheatsheet, we will go through basics of Numpy.

In [1]:
import pandas as pd
import numpy as np


## Create Numpy Array

In [2]:
arr = np.array([10,11,12,14])


Find the length of numpy array.

In [3]:
len(arr)

Out[3]:
4
In [4]:
arr[1]

Out[4]:
11

Find type of numpy array.

In [5]:
type(arr[1])

Out[5]:
numpy.int64
In [6]:
arr.dtype

Out[6]:
dtype('int64')

Create Numpy array with int32 type

In [7]:
arr = np.array([10,11,12],dtype=np.int32)

In [8]:
arr.dtype

Out[8]:
dtype('int32')
In [9]:
arr1 = np.random.rand(10000000)
arr2 = np.random.rand(10000000)


## Multiply Two Numpy Arrays

In [10]:
%time arr1 * arr2

CPU times: user 19.4 ms, sys: 939 µs, total: 20.3 ms
Wall time: 19.7 ms

Out[10]:
array([0.04454974, 0.39669552, 0.71391548, ..., 0.25065678, 0.01203942,
0.11915787])

## Convert Numpy (np) Array To list

In [11]:
arr = np.array([10, 21, 3])
list1 = arr.tolist()
print(f'List: {list1}')

List: [10, 21, 3]


## Convert Multi-Dimensional Numpy Array To List

In [12]:
import numpy as np
# 2d array to list
arr = np.array([[11, 100, 7], [14, 6, 2]])
list1 = arr.tolist()
print(f'NumPy Array:\n{arr}')
print(f'List: {list1}')

NumPy Array:
[[ 11 100   7]
[ 14   6   2]]
List: [[11, 100, 7], [14, 6, 2]]


## Python List To Numpy Array

In [13]:
l = [4,8,9]
arr = np.array(l)
print(arr)

[4 8 9]


## Numpy Matrix

In [14]:
mat = np.array([[10,20,30],[1,2,3]])

In [15]:
mat

Out[15]:
array([[10, 20, 30],
[ 1,  2,  3]])

Find shape of Numpy Matrix...

In [16]:
mat.shape

Out[16]:
(2, 3)

Numpy matrix last row access...

In [17]:
mat[-1]

Out[17]:
array([1, 2, 3])

Create numbers Using Numpy np.arange

In [18]:
nos = np.arange(6)


## Reshape Numpy Matrix

In [19]:
nos.reshape(2,3)

Out[19]:
array([[0, 1, 2],
[3, 4, 5]])

## Transpose Numpy Matrix

In [20]:
nos = np.arange(6)
nos.transpose()

Out[20]:
array([0, 1, 2, 3, 4, 5])
In [21]:
nos.T

Out[21]:
array([0, 1, 2, 3, 4, 5])

## Numpy Matrix Slicing

In [22]:
mat = np.array([[10,20,30],[1,2,3]])

In [23]:
mat

Out[23]:
array([[10, 20, 30],
[ 1,  2,  3]])

Access first row and second column values...

In [24]:
mat[0,1]

Out[24]:
20

Access 2nd column values...

In [25]:
mat[:,1]

Out[25]:
array([20,  2])

Access all column values except values from first column...

In [26]:
mat[:,1:]

Out[26]:
array([[20, 30],
[ 2,  3]])

Access values from column 2nd,3rd which are from row 2nd...

In [27]:
mat[1:,1:]

Out[27]:
array([[2, 3]])

Also we can use transpose method on the above sliced matrix...

In [28]:
mat[1:,1:].transpose()

Out[28]:
array([[2],
[3]])