0% found this document useful (0 votes)
54 views10 pages

01-NumPy Arrays - Jupyter Notebook

The document provides an introduction to NumPy arrays. It discusses how to create arrays from lists and matrices, and built-in NumPy functions like arange(), zeros(), ones(), and eye() to generate numeric arrays. Examples are given for each function to demonstrate how they can be used to create arrays of different shapes and values.

Uploaded by

Kamal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
54 views10 pages

01-NumPy Arrays - Jupyter Notebook

The document provides an introduction to NumPy arrays. It discusses how to create arrays from lists and matrices, and built-in NumPy functions like arange(), zeros(), ones(), and eye() to generate numeric arrays. Examples are given for each function to demonstrate how they can be used to create arrays of different shapes and values.

Uploaded by

Kamal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 10

10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

Using NumPy
Once you've installed NumPy you can import it as a library:

In [ ]: #!pip install numpy pandas matplotlib

In [1]: import numpy as np

Numpy has many built-in functions and capabilities. We won't cover them all but instead we
will focus on some of the most important aspects of Numpy: vectors,arrays,matrices, and
number generation. Let's start by discussing arrays.

Numpy Arrays
NumPy arrays are the main way we will use Numpy throughout the course. Numpy arrays
essentially come in two flavors: vectors and matrices. Vectors are strictly 1-d arrays and
matrices are 2-d (but you should note a matrix can still have only one row or one column).

Let's begin our introduction by exploring how to create NumPy arrays.

Creating NumPy Arrays

From a Python List


We can create an array by directly converting a list or list of lists:

In [2]: my_list = [1,2,3]


print("data :",my_list,
"\t type :",
type(my_list))

data : [1, 2, 3] type : <class 'list'>

In [3]: my_list*3

Out[3]: [1, 2, 3, 1, 2, 3, 1, 2, 3]

In [4]: my=np.array(my_list)
print("data :",my,"\t type :",type(my))

data : [1 2 3] type : <class 'numpy.ndarray'>

In [5]: my+5

Out[5]: array([6, 7, 8])

In [6]: my*5

Out[6]: array([ 5, 10, 15])

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 1/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [7]: my.shape

Out[7]: (3,)

In [15]: n=np.array([12,4,657,87,453,76,43,32])
n.shape

Out[15]: (8,)

In [ ]: (1,2,3,43,5)

In [ ]: [ list ]


{ dict }

In [ ]: ​

In [16]: x=90
y="90"
print(x)
print(y)

90
90

In [17]: print(np.array(my_list))

[1 2 3]

In [18]: my_matrix = [[1,2,3],[4,5,6],[7,8,9],[11,12,13]]


my_matrix

Out[18]: [[1, 2, 3], [4, 5, 6], [7, 8, 9], [11, 12, 13]]

In [19]: len(my_matrix)

Out[19]: 4

In [20]: f=np.array(my_matrix)
f

Out[20]: array([[ 1, 2, 3],


[ 4, 5, 6],
[ 7, 8, 9],
[11, 12, 13]])

In [21]: f.shape

Out[21]: (4, 3)

Built-in Methods

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 2/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

arange
Return evenly spaced values within a given interval.

In [22]: range(5,9) #5678

Out[22]: range(5, 9)

In [23]: for i in range(5,9):


print(i)

5
6
7
8

In [24]: l=list(range(2,7))
l

Out[24]: [2, 3, 4, 5, 6]

In [25]: l*3

Out[25]: [2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6]

In [26]: a=np.arange(2,7)
a

Out[26]: array([2, 3, 4, 5, 6])

In [27]: a*3

Out[27]: array([ 6, 9, 12, 15, 18])

In [28]: a*2

Out[28]: array([ 4, 6, 8, 10, 12])

In [29]: np.arange(0,10)

Out[29]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

In [30]: np.arange(0,11,2)

Out[30]: array([ 0, 2, 4, 6, 8, 10])

In [ ]: ​

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 3/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [31]: print("welcome")
for i in range(2,9):
print(i)
print("thanks")

welcome
2
3
4
5
6
7
8
thanks

In [32]: print("welcome")
for i in range(2,9):
print(i)
print("thanks")

welcome
2
3
4
5
6
7
8
thanks

In [ ]: print("welcome")
for i in np.arange(19,12,-1):
print(i)
print("thanks")

In [ ]: print("welcome")
for i in range(9,2,1):
print(i)
print("thanks")

In [ ]: print("welcome")
for i in np.arange(-9,-2,1):
print(i)
print("thanks")

In [ ]: print("welcome")
for i in np.arange(-9,-2,-1):
print(i)
print("thanks")

zeros and ones


Generate arrays of zeros or ones

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 4/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [33]: import numpy as np

In [34]: np.zeros(7)

Out[34]: array([0., 0., 0., 0., 0., 0., 0.])

In [35]: np.zeros(7)+3

Out[35]: array([3., 3., 3., 3., 3., 3., 3.])

In [36]: np.zeros((3,4))

Out[36]: array([[0., 0., 0., 0.],


[0., 0., 0., 0.],
[0., 0., 0., 0.]])

In [37]: np.zeros((2,4))+8

Out[37]: array([[8., 8., 8., 8.],


[8., 8., 8., 8.]])

In [38]: np.ones(3)

Out[38]: array([1., 1., 1.])

In [39]: np.ones((3,3))

Out[39]: array([[1., 1., 1.],


[1., 1., 1.],
[1., 1., 1.]])

In [40]: np.ones((3,3))*5

Out[40]: array([[5., 5., 5.],


[5., 5., 5.],
[5., 5., 5.]])

linspace
Return evenly spaced numbers over a specified interval.

In [41]: np.linspace(0,10,5)

Out[41]: array([ 0. , 2.5, 5. , 7.5, 10. ])

In [42]: np.linspace(1,4,9)

Out[42]: array([1. , 1.375, 1.75 , 2.125, 2.5 , 2.875, 3.25 , 3.625, 4. ])

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 5/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [43]: np.linspace(0,10,90)

Out[43]: array([ 0. , 0.11235955, 0.2247191 , 0.33707865, 0.4494382 ,


0.56179775, 0.6741573 , 0.78651685, 0.8988764 , 1.01123596,
1.12359551, 1.23595506, 1.34831461, 1.46067416, 1.57303371,
1.68539326, 1.79775281, 1.91011236, 2.02247191, 2.13483146,
2.24719101, 2.35955056, 2.47191011, 2.58426966, 2.69662921,
2.80898876, 2.92134831, 3.03370787, 3.14606742, 3.25842697,
3.37078652, 3.48314607, 3.59550562, 3.70786517, 3.82022472,
3.93258427, 4.04494382, 4.15730337, 4.26966292, 4.38202247,
4.49438202, 4.60674157, 4.71910112, 4.83146067, 4.94382022,
5.05617978, 5.16853933, 5.28089888, 5.39325843, 5.50561798,
5.61797753, 5.73033708, 5.84269663, 5.95505618, 6.06741573,
6.17977528, 6.29213483, 6.40449438, 6.51685393, 6.62921348,
6.74157303, 6.85393258, 6.96629213, 7.07865169, 7.19101124,
7.30337079, 7.41573034, 7.52808989, 7.64044944, 7.75280899,
7.86516854, 7.97752809, 8.08988764, 8.20224719, 8.31460674,
8.42696629, 8.53932584, 8.65168539, 8.76404494, 8.87640449,
8.98876404, 9.1011236 , 9.21348315, 9.3258427 , 9.43820225,
9.5505618 , 9.66292135, 9.7752809 , 9.88764045, 10. ])

eye
Creates an identity matrix

In [44]: np.eye(3)

Out[44]: array([[1., 0., 0.],


[0., 1., 0.],
[0., 0., 1.]])

In [45]: np.eye(5)

Out[45]: array([[1., 0., 0., 0., 0.],


[0., 1., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 1., 0.],
[0., 0., 0., 0., 1.]])

In [46]: np.zeros((9,9))

Out[46]: array([[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0.]])

randint
Return random integers from low (inclusive) to high (exclusive).

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 6/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [49]: np.random.randint(1,10)

Out[49]: 8

In [52]: np.random.randint(1000,9999,5)

Out[52]: array([4185, 3075, 3396, 1365, 6638])

In [55]: np.random.randint(1000,10000)

Out[55]: 9477

Array Attributes and Methods


Let's discuss some useful attributes and methods or an array:

In [56]: arr = np.arange(30)


arr

Out[56]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,


17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29])

In [59]: ranarr = np.random.randint(0,50,10)

In [60]: ranarr

Out[60]: array([13, 15, 41, 47, 4, 18, 47, 17, 16, 49])

In [61]: ranarr.shape

Out[61]: (10,)

Reshape
Returns an array containing the same data with a new shape.

In [62]: arr=arr.reshape(5,6)

In [63]: arr

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


[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29]])

In [64]: ranarr

Out[64]: array([13, 15, 41, 47, 4, 18, 47, 17, 16, 49])

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 7/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [65]: arr.max()

Out[65]: 29

In [66]: arr.min()

Out[66]: 0

Shape
Shape is an attribute that arrays have (not a method):

In [67]: arr

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


[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29]])

In [68]: # Vector
arr.shape

Out[68]: (5, 6)

In [69]: # Notice the two sets of brackets


arr.reshape(1,30)

Out[69]: array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,


16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]])

In [70]: arr.reshape(1,30).shape

Out[70]: (1, 30)

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 8/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [71]: arr.reshape(30,1)

Out[71]: array([[ 0],


[ 1],
[ 2],
[ 3],
[ 4],
[ 5],
[ 6],
[ 7],
[ 8],
[ 9],
[10],
[11],
[12],
[13],
[14],
[15],
[16],
[17],
[18],
[19],
[20],
[21],
[22],
[23],
[24],
[25],
[26],
[27],
[28],
[29]])

In [72]: arr.reshape(30,1).shape

Out[72]: (30, 1)

dtype
You can also grab the data type of the object in the array:

In [73]: arr.dtype

Out[73]: dtype('int32')

In [ ]: ​

In [77]: np.ones( (3,5) )

Out[77]: array([[1., 1., 1., 1., 1.],


[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 9/10


10/9/23, 9:42 PM 01-NumPy Arrays - Jupyter Notebook

In [ ]: ​

localhost:8888/notebooks/Downloads/01-NumPy Arrays.ipynb 10/10

You might also like