0% found this document useful (0 votes)
67 views

Numpy

This document provides an overview of NumPy, describing it as the lingua franca for data exchange in Python. It introduces NumPy's ndarray for n-dimensional arrays, which allows for fast operations on entire arrays. Various functions for creating ndarrays are also covered, such as np.array(), np.zeros(), and np.empty(). The document then discusses attributes of ndarrays like shape and dtype, and how to perform vectorized operations, slicing, indexing, and linear algebra functions with NumPy.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

Numpy

This document provides an overview of NumPy, describing it as the lingua franca for data exchange in Python. It introduces NumPy's ndarray for n-dimensional arrays, which allows for fast operations on entire arrays. Various functions for creating ndarrays are also covered, such as np.array(), np.zeros(), and np.empty(). The document then discusses attributes of ndarrays like shape and dtype, and how to perform vectorized operations, slicing, indexing, and linear algebra functions with NumPy.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 37

Numpy

Lingua franca for data exchange

Dr. Noman Islam

09/12/2020 1
Numpy
• Numerical Python
• Developed in 2005 by Travis Oliphant
• Lingua franca for data exchange
• ndarray – a n-dimensional array
• Fast operations on entire arrays
• Reading/writing array data
• Linear algebra operations
Travis Oliphant

09/12/2020 2
Vectorized operations

09/12/2020 3
Installation
• Prepackaged with Anaconda
• Using pip
– pip install numpy

09/12/2020 4
Numpy Vs Python list

09/12/2020 5
nd-array
• A fast, flexible container for large datasets
in Python
• Homogeneous data i.e. all of the elements
must be the same type

09/12/2020 6
Creating ndarray
• np.array(): convert input data to an ndarray
• np.zeros(): produces arrays of 0s
• np.ones(): produces arrays of 1s
• np.empty(): create new arrays by allocating
new memory, but do not populate with any
values
• np.arange(): like the built-in range but
returns an ndarray instead of a list

09/12/2020 7
Examples

09/12/2020 8
Summary of array creation functions

09/12/2020 9
Attributes of numpy array
• shape: a tuple indicating the size of each
dimension
• dtype: an object describing the data type
of the array
• ndim: the number of dimensions of the
array

09/12/2020 10
shape attribute

09/12/2020 11
Numpy data types

09/12/2020 12
Vectorization
• Express batch operations on data without writing
any for loops
• Any arithmetic operations between equal-size
arrays applies the operation element-wise
• Arithmetic operations with scalars propagate the
scalar argument to each element in the array
• Comparisons between arrays of the same size
yield boolean arrays
• Operations between differently sized arrays is
called broadcasting
09/12/2020 13
Operations on two matrices

09/12/2020 14
Operations between matrix and scalar

09/12/2020 15
Comparison between matrices

09/12/2020 16
Array indexing

09/12/2020 17
Fancy indexing

09/12/2020 18
Slicing
• Array slices are views on the original array
• Format
– start: end: step

09/12/2020 19
Element-wise array functions

09/12/2020 20
np.where()

09/12/2020 21
Transpose of a matrix

09/12/2020 22
Mathematical and Statistical Methods

• mean(): returns the mean value computed


over the array
• cumsum(): returns the cumulative sum of
array elements
• cumprod(): returns the cumulative product
of array elements
Methods for boolean arrays
• sum(): counting True values in a boolean
array
• any(): tests whether one or more values in
an array is True
• all(): checks if every value is True
Sorting
Unique
File Input Output
• np.save(filename.npy, array)
• np.load(filename.npy)
• np.savez(filename.npz,array1,array2)
• When loading an .npz file, you get back a
dict-like object
Linear algebra functions
Pseudo-random number generation

• normal()
• seed()
• gamma()
• uniform()
Pseudo random number generator
Reshape

09/12/2020 32
Converting to 1D array
• flatten()
• ravel()

09/12/2020 33
concatenate

09/12/2020 34
Convenience functions
• vstack: stack arrays row-wise (along axis
0)
• hstack: stack arrays column-wise (along
axis 1)

09/12/2020 35
Stacking helpers
• np.r_[arr1, arr2]
• np.c_[np.r_[arr1, arr2], arr]

09/12/2020 36
Splitting an array

09/12/2020 37

You might also like