SlideShare a Scribd company logo
Scientific Computing with Python
- NumPy
2017/08/03 (Thus.)
WeiYuan
site: v123582.github.io
line: weiwei63
§ 全端⼯程師 + 資料科學家
略懂⼀點網站前後端開發技術,學過資料探勘與機器
學習的⽪⽑。平時熱愛參與技術社群聚會及貢獻開源
程式的樂趣。
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
3
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
4
the Ecosystem of Python
5Reference:	https://www.edureka.co/blog/why-you-should-choose-python-for-big-data
6Reference:	https://www.slideshare.net/gabrielspmoreira/python-for-data-science-python-brasil-11-2015
About NumPy
§ NumPy is the fundamental package for scientific computing
with Python. It contains among other things:
• a powerful N-dimensional array object
• sophisticated (broadcasting) functions
• tools for integrating C/C++ and Fortran code
• useful linear algebra, Fourier transform, and random number
capabilities
• be used as an efficient multi-dimensional container of generic data.
7
About NumPy
§ NumPy is the fundamental package for scientific computing
with Python. It contains among other things:
• a powerful N-dimensional array object
• sophisticated (broadcasting) functions
• tools for integrating C/C++ and Fortran code
• useful linear algebra, Fourier transform, and random number
capabilities
• be used as an efficient multi-dimensional container of generic data.
8
Try it!
§ #練習:Import the numpy package under the name np
9
Try it!
§ #練習:Print the numpy version and the configuration
10
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
11
Ndarray
§ shape
§ ndim
§ dtype
§ size
§ itemsize
§ data
12
1
2
3
4
5
6
7
8
9
10
11
12
from numpy import *
a = array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]
])
Ndarray
§ shape
§ ndim
§ dtype
§ size
§ itemsize
§ data
13
1
2
3
4
5
6
7
8
9
10
11
12
from numpy import *
a = array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]
])
a.shape # (3, 5)
a.ndim # 2
a.dtype.name # 'int32’
a.size # 15
a.itemsize # 4
type(a) # numpy.ndarray
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
14
Create a new Ndarray
§ One Dimension Array (1dnarray)
§ Multiple Dimension Array (ndarray)
§ Zeros, Ones, Empty
§ arange and linspace
§ random array
§ array from list/tuple
15
Create a new Ndarray
§ One Dimension Array (1dnarray)
16
1
2
3
4
5
6
7
8
9
import numpy as np
arr1 = np.array([0, 1, 2, 3, 4]) # array([0 1 2 3 4])
type(arr1) # <type 'numpy.ndarray'>
arr1.dtype # dtype('int64')
array( )
Create a new Ndarray
§ One Dimension Array (1dnarray)
17
1
2
3
4
5
6
7
8
9
import numpy as np
arr1 = np.array([0, 1, 2, 3, 4]) # array([0 1 2 3 4])
type(arr1) # <type 'numpy.ndarray'>
arr1.dtype # dtype('int64')
arr2 = np.array([1.2, 2.4, 3.6]) # array([1.2, 2.4, 3.6])
type(arr2) # <type 'numpy.ndarray'>
arr2.dtype # dtype('float64')
array( )
Create a new Ndarray
§ Question:How to assign data type for an array ?
18
Create a new Ndarray
§ Multiple Dimension Array (ndarray)
19
1
2
3
4
5
6
7
8
9
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
# array([[1, 2, 3],
# [4, 5, 6]])
array( )
Create a new Ndarray
§ Question:How to change shape from 1-d array ?
20
Create a new Ndarray
§ Zeros, Ones, Empty
21
1
2
3
4
5
6
7
8
9
import numpy as np
zeros = np.zeros(5)
# array([ 0., 0., 0., 0., 0.])
zeros( )
Create a new Ndarray
§ Zeros, Ones, Empty
22
1
2
3
4
5
6
7
8
9
import numpy as np
zeros = np.ones(5)
# array([ 1., 1., 1., 1., 1.])
ones( )
Create a new Ndarray
§ Zeros, Ones, Empty
23
1
2
3
4
5
6
7
8
9
import numpy as np
zeros = np.empty(5)
# array([ 0., 0., 0., 0., 0.])
empty( )
Create a new Ndarray
§ arange and linspace
24
1
2
3
4
5
6
7
8
9
import numpy as np
arange = np.arange(5)
# array([0 1 2 3 4])
arange( )
Create a new Ndarray
§ arange and linspace
25
1
2
3
4
5
6
7
8
9
import numpy as np
linspace = np.linspace(0, 4, 5)
# array([ 0., 1., 2., 3., 4.])
linspace( )
Create a new Ndarray
§ random array
26
1
2
3
4
5
6
7
8
9
import numpy as np
linspace = np.random.randint(0, 2, size=4)
# array([ 0, 1, 1, 1])
random.randint( )
Try it!
§ #練習:Create a 3x3x3 array with random values
27
Try it!
§ #練習:Find indices of non-zero elements
28
Create a new Ndarray
§ array from list/tuple
29
1
2
3
4
5
6
7
8
9
import numpy as np
x = [1,2,3]
a = np.asarray(x)
x = (1,2,3)
a = np.asarray(x)
asarray( )
Try it!
§ #練習:Create a null vector of size 10
30
Try it!
§ #練習:Create a vector with values ranging from 10 to 49
31
Try it!
§ #練習:Create a 3x3 identity matrix
32
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
33
Property of Ndarray
§ shape
§ ndim
§ dtype
§ size
§ itemsize
§ data
34
1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np
a = np.array(
[[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25],
[26, 27, 28 ,29, 30],
[31, 32, 33, 34, 35]
])
Property of Ndarray
§ shape
§ ndim
§ dtype
§ size
§ itemsize
§ data
35
1
2
3
4
5
6
7
8
9
10
11
12
print(type(a))
print(a.shape)
print(a.ndim)
print(a.dtype)
print(a.size)
print(a.itemsize)
print(a.nbytes)
Try it!
§ #練習:How to find the memory size of any array
36
data type
37
§ Question:How to assign data type for an array ?
1. Set dtype with create the array
2. Change dtype function
1. Set dtype with create the array
38
1
2
3
4
5
6
7
8
9
x = numpy.array([1,2.6,3], dtype = numpy.int64)
print(x) #
print(x.dtype) #
x = numpy.array([1,2,3], dtype = numpy.float64)
print(x) #
print(x.dtype) #
array( )
2. Change dtype function
39
1
2
3
4
5
6
7
8
9
x = numpy.array([1,2.6,3], dtype = numpy.float64)
y = x.astype(numpy.int32)
print(y) # [1 2 3]
print(y.dtype)
z = y.astype(numpy.float64)
print(z) # [ 1. 2. 3.]
print(z.dtype)
astype( )
40
data shape
41
§ Question:How to change shape from 1-d array ?
1. Set multiple array with create the array
2. Assign new shape to shape property
3. Change shape function
1. Set multiple array with create the array
42
1
2
3
4
5
6
7
8
9
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
a.shape # (2, 3)
array( )
2. Assign new shape to shape property
43
1
2
3
4
5
6
7
8
9
a = np.array([[1,2,3],[4,5,6]])
a.shape = (3,2)
a # [[1, 2], [3, 4], [5, 6]]
array( )
3. Change shape function
44
1
2
3
4
5
6
7
8
9
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
b # [[1, 2], [3, 4], [5, 6]]
reshape( )
3. Change shape function
45
1
2
3
4
5
6
7
8
9
a = np.array([[1,2,3],[4,5,6]])
b = a.reshape(3,2)
b # [[1, 2], [3, 4], [5, 6]]
a.resize(3,2)
a # [[1, 2], [3, 4], [5, 6]]
resize( )
Try it!
§ #練習:Create a 3x3 matrix with values ranging from 0 to 8
46
index and slicing
§ index
§ slicing
47
1
2
3
4
array[0] # 0
array[1] # 1
array[-1] # 4
1
2
3
4
5
array[1:3] # [1, 2]
array[:4] # [0, 1, 3]
array[3:] # [3, 4]
array[1:4:2] # [1, 3]
array[::-1] # [4, 3, 2, 1, 0]
([0,	1,	2,	3,	4])
index and slicing
§ index
§ slicing
48
1
2
3
4
array[1] # [0, 1]
array[1][0] # 0
array[1][1] # 1
array[2][0] # 2
1
2
3
4
5
array[0:2] # [[0, 1], [2, 3]]
array[:2] # [[0, 1], [2, 3]]
array[2:] # [[4, 5]]
(	[0,	1,	0,	1,	0],
[2,	3,	2,	3,	2],
[4,	5,	4,	5,	4]	)
index and slicing
§ slicing
49
1
2
3
4
array[0, 1:4] # [1, 0, 1]
array[[0, 0, 0], [1, 2, 3]]
array[1:3, 0] # [1, 3, 5]
array[[1, 2], [0, 0, 0]]
(	[0,	1,	0,	1,	0],
[2,	3,	2,	3,	2],
[4,	5,	4,	5,	4]	)
Try it!
§ #練習:Create a null vector of size 10 but the fifth value which
is 1
50
Try it!
§ #練習:Reverse a vector (first element becomes last)
51
Try it!
§ #練習:Create a 2d array with 1 on the border and 0 inside
52
Try it!
§ #練習:Create a 8x8 matrix and fill it with a checkerboard
pattern
53
Try it!
§ #練習:
54
1
2
3
4
5
6
7
8
9
import numpy as np
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
# 第二列元素
# 第二行元素
# 除了第二列的元素
Try it!
§ #練習:
55
1
2
3
4
array[::2,::2]
array[:, 1]
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
56
Basic Operators
57
sophisticated (broadcasting)
58
ufunc
59
staticstic
60
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
61
2d-array
62
Matrix
63
2d-array vs Matrix
64
Outline
§ About NumPy
§ Ndarray
§ Create a new Array
§ Property of Array
§ Operation of Array
§ Matrix
§ Advanced Usages
65
Advanced Usages
§ Boolean indexing and Fancy indexing
§ Boolean masking
§ Incomplete Indexing
§ Where function
§ Customize dtype
66
Thanks for listening.
2017/08/03 (Thus.) Scientific Computing with Python – NumPy
Wei-Yuan Chang
v123582@gmail.com
v123582.github.io
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan
Scientific Computing with Python - NumPy | WeiYuan

More Related Content

What's hot (20)

PDF
Python libraries
Prof. Dr. K. Adisesha
 
PPT
Sorting Algorithms
multimedia9
 
PDF
pandas - Python Data Analysis
Andrew Henshaw
 
PPT
Data Structure and Algorithms Binary Search Tree
ManishPrajapati78
 
PPT
Heap sort
Mohd Arif
 
PPT
Presentation on binary search, quick sort, merge sort and problems
Sumita Das
 
PPT
Adv. python regular expression by Rj
Shree M.L.Kakadiya MCA mahila college, Amreli
 
PDF
Python Variable Types, List, Tuple, Dictionary
Soba Arjun
 
PPTX
Python list
ArchanaBhumkar
 
PPTX
Hashing in datastructure
rajshreemuthiah
 
PPTX
Insertion sort algorithm power point presentation
University of Science and Technology Chitttagong
 
PPT
Binary Search
kunj desai
 
PPTX
Quick Sort
Shweta Sahu
 
PPTX
Merge sort and quick sort
Shakila Mahjabin
 
PPT
Merge sort
Vidushi Pathak
 
PDF
Introduction to Pandas and Time Series Analysis [PyCon DE]
Alexander Hendorf
 
PPTX
Data Analysis with Python Pandas
Neeru Mittal
 
PPTX
Python Libraries and Modules
RaginiJain21
 
PDF
Python NumPy Tutorial | NumPy Array | Edureka
Edureka!
 
PDF
Python Sequence Data types in Brief
jyostna bodapati
 
Python libraries
Prof. Dr. K. Adisesha
 
Sorting Algorithms
multimedia9
 
pandas - Python Data Analysis
Andrew Henshaw
 
Data Structure and Algorithms Binary Search Tree
ManishPrajapati78
 
Heap sort
Mohd Arif
 
Presentation on binary search, quick sort, merge sort and problems
Sumita Das
 
Adv. python regular expression by Rj
Shree M.L.Kakadiya MCA mahila college, Amreli
 
Python Variable Types, List, Tuple, Dictionary
Soba Arjun
 
Python list
ArchanaBhumkar
 
Hashing in datastructure
rajshreemuthiah
 
Insertion sort algorithm power point presentation
University of Science and Technology Chitttagong
 
Binary Search
kunj desai
 
Quick Sort
Shweta Sahu
 
Merge sort and quick sort
Shakila Mahjabin
 
Merge sort
Vidushi Pathak
 
Introduction to Pandas and Time Series Analysis [PyCon DE]
Alexander Hendorf
 
Data Analysis with Python Pandas
Neeru Mittal
 
Python Libraries and Modules
RaginiJain21
 
Python NumPy Tutorial | NumPy Array | Edureka
Edureka!
 
Python Sequence Data types in Brief
jyostna bodapati
 

Similar to Scientific Computing with Python - NumPy | WeiYuan (20)

PPTX
NumPy-python-27-9-24-we.pptxNumPy-python-27-9-24-we.pptx
tahirnaquash2
 
PDF
Essential numpy before you start your Machine Learning journey in python.pdf
Smrati Kumar Katiyar
 
PPTX
UNIT-03_Numpy (1) python yeksodbbsisbsjsjsh
tony8553004135
 
PPTX
Data Preprocessing Introduction for Machine Learning
sonali sonavane
 
PPTX
NumPy.pptx
DrJasmineBeulahG
 
PPTX
Numpy in python, Array operations using numpy and so on
SherinRappai
 
PPTX
NUMPY-2.pptx
MahendraVusa
 
PPT
Introduction to Numpy Foundation Study GuideStudyGuide
elharriettm
 
PPTX
numpy code and examples with attributes.pptx
swathis752031
 
PPT
Python crash course libraries numpy-1, panda.ppt
janaki raman
 
PDF
numpy.pdf
ssuser457188
 
PPTX
NUMPY [Autosaved] .pptx
coolmanbalu123
 
PPTX
NUMPY LIBRARY study materials PPT 2.pptx
CHETHANKUMAR274045
 
PPTX
Lecture 2 _Foundions foundions NumPyI.pptx
disserdekabrcha
 
DOCX
Data Manipulation with Numpy and Pandas in PythonStarting with N
OllieShoresna
 
PPTX
NumPy.pptx
EN1036VivekSingh
 
PPTX
Chapter 5-Numpy-Pandas.pptx python programming
ssuser77162c
 
PPT
14078956.ppt
Sivam Chinna
 
PDF
Introduction to NumPy
Huy Nguyen
 
NumPy-python-27-9-24-we.pptxNumPy-python-27-9-24-we.pptx
tahirnaquash2
 
Essential numpy before you start your Machine Learning journey in python.pdf
Smrati Kumar Katiyar
 
UNIT-03_Numpy (1) python yeksodbbsisbsjsjsh
tony8553004135
 
Data Preprocessing Introduction for Machine Learning
sonali sonavane
 
NumPy.pptx
DrJasmineBeulahG
 
Numpy in python, Array operations using numpy and so on
SherinRappai
 
NUMPY-2.pptx
MahendraVusa
 
Introduction to Numpy Foundation Study GuideStudyGuide
elharriettm
 
numpy code and examples with attributes.pptx
swathis752031
 
Python crash course libraries numpy-1, panda.ppt
janaki raman
 
numpy.pdf
ssuser457188
 
NUMPY [Autosaved] .pptx
coolmanbalu123
 
NUMPY LIBRARY study materials PPT 2.pptx
CHETHANKUMAR274045
 
Lecture 2 _Foundions foundions NumPyI.pptx
disserdekabrcha
 
Data Manipulation with Numpy and Pandas in PythonStarting with N
OllieShoresna
 
NumPy.pptx
EN1036VivekSingh
 
Chapter 5-Numpy-Pandas.pptx python programming
ssuser77162c
 
14078956.ppt
Sivam Chinna
 
Introduction to NumPy
Huy Nguyen
 
Ad

More from Wei-Yuan Chang (20)

PDF
Python Fundamentals - Basic
Wei-Yuan Chang
 
PDF
Data Analysis with Python - Pandas | WeiYuan
Wei-Yuan Chang
 
PDF
Data Crawler using Python (I) | WeiYuan
Wei-Yuan Chang
 
PDF
Learning to Use Git | WeiYuan
Wei-Yuan Chang
 
PDF
Basic Web Development | WeiYuan
Wei-Yuan Chang
 
PDF
資料視覺化 - D3 的第一堂課 | WeiYuan
Wei-Yuan Chang
 
PDF
JavaScript Beginner Tutorial | WeiYuan
Wei-Yuan Chang
 
PDF
Python fundamentals - basic | WeiYuan
Wei-Yuan Chang
 
PDF
Introduce to PredictionIO
Wei-Yuan Chang
 
PDF
Analysis and Classification of Respiratory Health Risks with Respect to Air P...
Wei-Yuan Chang
 
PDF
Forecasting Fine Grained Air Quality Based on Big Data
Wei-Yuan Chang
 
PDF
On the Coverage of Science in the Media a Big Data Study on the Impact of th...
Wei-Yuan Chang
 
PDF
On the Ground Validation of Online Diagnosis with Twitter and Medical Records
Wei-Yuan Chang
 
PDF
Effective Event Identification in Social Media
Wei-Yuan Chang
 
PDF
Eears (earthquake alert and report system) a real time decision support syst...
Wei-Yuan Chang
 
PDF
Fine Grained Location Extraction from Tweets with Temporal Awareness
Wei-Yuan Chang
 
PPTX
Practical Lessons from Predicting Clicks on Ads at Facebook
Wei-Yuan Chang
 
PDF
How many folders do you really need ? Classifying email into a handful of cat...
Wei-Yuan Chang
 
PDF
Extending faceted search to the general web
Wei-Yuan Chang
 
PDF
Discovering human places of interest from multimodal mobile phone data
Wei-Yuan Chang
 
Python Fundamentals - Basic
Wei-Yuan Chang
 
Data Analysis with Python - Pandas | WeiYuan
Wei-Yuan Chang
 
Data Crawler using Python (I) | WeiYuan
Wei-Yuan Chang
 
Learning to Use Git | WeiYuan
Wei-Yuan Chang
 
Basic Web Development | WeiYuan
Wei-Yuan Chang
 
資料視覺化 - D3 的第一堂課 | WeiYuan
Wei-Yuan Chang
 
JavaScript Beginner Tutorial | WeiYuan
Wei-Yuan Chang
 
Python fundamentals - basic | WeiYuan
Wei-Yuan Chang
 
Introduce to PredictionIO
Wei-Yuan Chang
 
Analysis and Classification of Respiratory Health Risks with Respect to Air P...
Wei-Yuan Chang
 
Forecasting Fine Grained Air Quality Based on Big Data
Wei-Yuan Chang
 
On the Coverage of Science in the Media a Big Data Study on the Impact of th...
Wei-Yuan Chang
 
On the Ground Validation of Online Diagnosis with Twitter and Medical Records
Wei-Yuan Chang
 
Effective Event Identification in Social Media
Wei-Yuan Chang
 
Eears (earthquake alert and report system) a real time decision support syst...
Wei-Yuan Chang
 
Fine Grained Location Extraction from Tweets with Temporal Awareness
Wei-Yuan Chang
 
Practical Lessons from Predicting Clicks on Ads at Facebook
Wei-Yuan Chang
 
How many folders do you really need ? Classifying email into a handful of cat...
Wei-Yuan Chang
 
Extending faceted search to the general web
Wei-Yuan Chang
 
Discovering human places of interest from multimodal mobile phone data
Wei-Yuan Chang
 
Ad

Recently uploaded (20)

PDF
Merits and Demerits of DBMS over File System & 3-Tier Architecture in DBMS
MD RIZWAN MOLLA
 
PPTX
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
PPTX
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
PPTX
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
PDF
Copia de Strategic Roadmap Infographics by Slidesgo.pptx (1).pdf
ssuserd4c6911
 
PPTX
Dr djdjjdsjsjsjsjsjsjjsjdjdjdjdjjd1.pptx
Nandy31
 
PPTX
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
PPTX
ER_Model_Relationship_in_DBMS_Presentation.pptx
dharaadhvaryu1992
 
PDF
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
PDF
Early_Diabetes_Detection_using_Machine_L.pdf
maria879693
 
PPTX
Climate Action.pptx action plan for climate
justfortalabat
 
PDF
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
PDF
Data Chunking Strategies for RAG in 2025.pdf
Tamanna
 
PPTX
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
PPTX
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
PDF
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
PDF
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
PDF
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
PPTX
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
PPTX
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 
Merits and Demerits of DBMS over File System & 3-Tier Architecture in DBMS
MD RIZWAN MOLLA
 
Numbers of a nation: how we estimate population statistics | Accessible slides
Office for National Statistics
 
Module-5-Measures-of-Central-Tendency-Grouped-Data-1.pptx
lacsonjhoma0407
 
ER_Model_with_Diagrams_Presentation.pptx
dharaadhvaryu1992
 
Copia de Strategic Roadmap Infographics by Slidesgo.pptx (1).pdf
ssuserd4c6911
 
Dr djdjjdsjsjsjsjsjsjjsjdjdjdjdjjd1.pptx
Nandy31
 
apidays Helsinki & North 2025 - From Chaos to Clarity: Designing (AI-Ready) A...
apidays
 
ER_Model_Relationship_in_DBMS_Presentation.pptx
dharaadhvaryu1992
 
Avatar for apidays apidays PRO June 07, 2025 0 5 apidays Helsinki & North 2...
apidays
 
Early_Diabetes_Detection_using_Machine_L.pdf
maria879693
 
Climate Action.pptx action plan for climate
justfortalabat
 
Web Scraping with Google Gemini 2.0 .pdf
Tamanna
 
Data Chunking Strategies for RAG in 2025.pdf
Tamanna
 
Advanced_NLP_with_Transformers_PPT_final 50.pptx
Shiwani Gupta
 
apidays Helsinki & North 2025 - API access control strategies beyond JWT bear...
apidays
 
apidays Helsinki & North 2025 - APIs in the healthcare sector: hospitals inte...
apidays
 
What does good look like - CRAP Brighton 8 July 2025
Jan Kierzyk
 
apidays Helsinki & North 2025 - Monetizing AI APIs: The New API Economy, Alla...
apidays
 
apidays Helsinki & North 2025 - Running a Successful API Program: Best Practi...
apidays
 
Aict presentation on dpplppp sjdhfh.pptx
vabaso5932
 

Scientific Computing with Python - NumPy | WeiYuan

  • 1. Scientific Computing with Python - NumPy 2017/08/03 (Thus.) WeiYuan
  • 2. site: v123582.github.io line: weiwei63 § 全端⼯程師 + 資料科學家 略懂⼀點網站前後端開發技術,學過資料探勘與機器 學習的⽪⽑。平時熱愛參與技術社群聚會及貢獻開源 程式的樂趣。
  • 3. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 3
  • 4. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 4
  • 5. the Ecosystem of Python 5Reference: https://www.edureka.co/blog/why-you-should-choose-python-for-big-data
  • 7. About NumPy § NumPy is the fundamental package for scientific computing with Python. It contains among other things: • a powerful N-dimensional array object • sophisticated (broadcasting) functions • tools for integrating C/C++ and Fortran code • useful linear algebra, Fourier transform, and random number capabilities • be used as an efficient multi-dimensional container of generic data. 7
  • 8. About NumPy § NumPy is the fundamental package for scientific computing with Python. It contains among other things: • a powerful N-dimensional array object • sophisticated (broadcasting) functions • tools for integrating C/C++ and Fortran code • useful linear algebra, Fourier transform, and random number capabilities • be used as an efficient multi-dimensional container of generic data. 8
  • 9. Try it! § #練習:Import the numpy package under the name np 9
  • 10. Try it! § #練習:Print the numpy version and the configuration 10
  • 11. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 11
  • 12. Ndarray § shape § ndim § dtype § size § itemsize § data 12 1 2 3 4 5 6 7 8 9 10 11 12 from numpy import * a = array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14] ])
  • 13. Ndarray § shape § ndim § dtype § size § itemsize § data 13 1 2 3 4 5 6 7 8 9 10 11 12 from numpy import * a = array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14] ]) a.shape # (3, 5) a.ndim # 2 a.dtype.name # 'int32’ a.size # 15 a.itemsize # 4 type(a) # numpy.ndarray
  • 14. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 14
  • 15. Create a new Ndarray § One Dimension Array (1dnarray) § Multiple Dimension Array (ndarray) § Zeros, Ones, Empty § arange and linspace § random array § array from list/tuple 15
  • 16. Create a new Ndarray § One Dimension Array (1dnarray) 16 1 2 3 4 5 6 7 8 9 import numpy as np arr1 = np.array([0, 1, 2, 3, 4]) # array([0 1 2 3 4]) type(arr1) # <type 'numpy.ndarray'> arr1.dtype # dtype('int64') array( )
  • 17. Create a new Ndarray § One Dimension Array (1dnarray) 17 1 2 3 4 5 6 7 8 9 import numpy as np arr1 = np.array([0, 1, 2, 3, 4]) # array([0 1 2 3 4]) type(arr1) # <type 'numpy.ndarray'> arr1.dtype # dtype('int64') arr2 = np.array([1.2, 2.4, 3.6]) # array([1.2, 2.4, 3.6]) type(arr2) # <type 'numpy.ndarray'> arr2.dtype # dtype('float64') array( )
  • 18. Create a new Ndarray § Question:How to assign data type for an array ? 18
  • 19. Create a new Ndarray § Multiple Dimension Array (ndarray) 19 1 2 3 4 5 6 7 8 9 import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]]) # array([[1, 2, 3], # [4, 5, 6]]) array( )
  • 20. Create a new Ndarray § Question:How to change shape from 1-d array ? 20
  • 21. Create a new Ndarray § Zeros, Ones, Empty 21 1 2 3 4 5 6 7 8 9 import numpy as np zeros = np.zeros(5) # array([ 0., 0., 0., 0., 0.]) zeros( )
  • 22. Create a new Ndarray § Zeros, Ones, Empty 22 1 2 3 4 5 6 7 8 9 import numpy as np zeros = np.ones(5) # array([ 1., 1., 1., 1., 1.]) ones( )
  • 23. Create a new Ndarray § Zeros, Ones, Empty 23 1 2 3 4 5 6 7 8 9 import numpy as np zeros = np.empty(5) # array([ 0., 0., 0., 0., 0.]) empty( )
  • 24. Create a new Ndarray § arange and linspace 24 1 2 3 4 5 6 7 8 9 import numpy as np arange = np.arange(5) # array([0 1 2 3 4]) arange( )
  • 25. Create a new Ndarray § arange and linspace 25 1 2 3 4 5 6 7 8 9 import numpy as np linspace = np.linspace(0, 4, 5) # array([ 0., 1., 2., 3., 4.]) linspace( )
  • 26. Create a new Ndarray § random array 26 1 2 3 4 5 6 7 8 9 import numpy as np linspace = np.random.randint(0, 2, size=4) # array([ 0, 1, 1, 1]) random.randint( )
  • 27. Try it! § #練習:Create a 3x3x3 array with random values 27
  • 28. Try it! § #練習:Find indices of non-zero elements 28
  • 29. Create a new Ndarray § array from list/tuple 29 1 2 3 4 5 6 7 8 9 import numpy as np x = [1,2,3] a = np.asarray(x) x = (1,2,3) a = np.asarray(x) asarray( )
  • 30. Try it! § #練習:Create a null vector of size 10 30
  • 31. Try it! § #練習:Create a vector with values ranging from 10 to 49 31
  • 32. Try it! § #練習:Create a 3x3 identity matrix 32
  • 33. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 33
  • 34. Property of Ndarray § shape § ndim § dtype § size § itemsize § data 34 1 2 3 4 5 6 7 8 9 10 11 12 import numpy as np a = np.array( [[11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25], [26, 27, 28 ,29, 30], [31, 32, 33, 34, 35] ])
  • 35. Property of Ndarray § shape § ndim § dtype § size § itemsize § data 35 1 2 3 4 5 6 7 8 9 10 11 12 print(type(a)) print(a.shape) print(a.ndim) print(a.dtype) print(a.size) print(a.itemsize) print(a.nbytes)
  • 36. Try it! § #練習:How to find the memory size of any array 36
  • 37. data type 37 § Question:How to assign data type for an array ? 1. Set dtype with create the array 2. Change dtype function
  • 38. 1. Set dtype with create the array 38 1 2 3 4 5 6 7 8 9 x = numpy.array([1,2.6,3], dtype = numpy.int64) print(x) # print(x.dtype) # x = numpy.array([1,2,3], dtype = numpy.float64) print(x) # print(x.dtype) # array( )
  • 39. 2. Change dtype function 39 1 2 3 4 5 6 7 8 9 x = numpy.array([1,2.6,3], dtype = numpy.float64) y = x.astype(numpy.int32) print(y) # [1 2 3] print(y.dtype) z = y.astype(numpy.float64) print(z) # [ 1. 2. 3.] print(z.dtype) astype( )
  • 40. 40
  • 41. data shape 41 § Question:How to change shape from 1-d array ? 1. Set multiple array with create the array 2. Assign new shape to shape property 3. Change shape function
  • 42. 1. Set multiple array with create the array 42 1 2 3 4 5 6 7 8 9 import numpy as np a = np.array([[1,2,3],[4,5,6]]) a.shape # (2, 3) array( )
  • 43. 2. Assign new shape to shape property 43 1 2 3 4 5 6 7 8 9 a = np.array([[1,2,3],[4,5,6]]) a.shape = (3,2) a # [[1, 2], [3, 4], [5, 6]] array( )
  • 44. 3. Change shape function 44 1 2 3 4 5 6 7 8 9 a = np.array([[1,2,3],[4,5,6]]) b = a.reshape(3,2) b # [[1, 2], [3, 4], [5, 6]] reshape( )
  • 45. 3. Change shape function 45 1 2 3 4 5 6 7 8 9 a = np.array([[1,2,3],[4,5,6]]) b = a.reshape(3,2) b # [[1, 2], [3, 4], [5, 6]] a.resize(3,2) a # [[1, 2], [3, 4], [5, 6]] resize( )
  • 46. Try it! § #練習:Create a 3x3 matrix with values ranging from 0 to 8 46
  • 47. index and slicing § index § slicing 47 1 2 3 4 array[0] # 0 array[1] # 1 array[-1] # 4 1 2 3 4 5 array[1:3] # [1, 2] array[:4] # [0, 1, 3] array[3:] # [3, 4] array[1:4:2] # [1, 3] array[::-1] # [4, 3, 2, 1, 0] ([0, 1, 2, 3, 4])
  • 48. index and slicing § index § slicing 48 1 2 3 4 array[1] # [0, 1] array[1][0] # 0 array[1][1] # 1 array[2][0] # 2 1 2 3 4 5 array[0:2] # [[0, 1], [2, 3]] array[:2] # [[0, 1], [2, 3]] array[2:] # [[4, 5]] ( [0, 1, 0, 1, 0], [2, 3, 2, 3, 2], [4, 5, 4, 5, 4] )
  • 49. index and slicing § slicing 49 1 2 3 4 array[0, 1:4] # [1, 0, 1] array[[0, 0, 0], [1, 2, 3]] array[1:3, 0] # [1, 3, 5] array[[1, 2], [0, 0, 0]] ( [0, 1, 0, 1, 0], [2, 3, 2, 3, 2], [4, 5, 4, 5, 4] )
  • 50. Try it! § #練習:Create a null vector of size 10 but the fifth value which is 1 50
  • 51. Try it! § #練習:Reverse a vector (first element becomes last) 51
  • 52. Try it! § #練習:Create a 2d array with 1 on the border and 0 inside 52
  • 53. Try it! § #練習:Create a 8x8 matrix and fill it with a checkerboard pattern 53
  • 54. Try it! § #練習: 54 1 2 3 4 5 6 7 8 9 import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5,6]]) # 第二列元素 # 第二行元素 # 除了第二列的元素
  • 56. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 56
  • 61. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 61
  • 65. Outline § About NumPy § Ndarray § Create a new Array § Property of Array § Operation of Array § Matrix § Advanced Usages 65
  • 66. Advanced Usages § Boolean indexing and Fancy indexing § Boolean masking § Incomplete Indexing § Where function § Customize dtype 66
  • 67. Thanks for listening. 2017/08/03 (Thus.) Scientific Computing with Python – NumPy Wei-Yuan Chang [email protected] v123582.github.io