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

PPTX
Data Analysis with Python Pandas
PDF
Php array
PPTX
NumPy.pptx
PPTX
NumPy.pptx
PDF
pandas - Python Data Analysis
PPTX
Python Collections
PDF
Pandas
PPT
Queues & ITS TYPES
Data Analysis with Python Pandas
Php array
NumPy.pptx
NumPy.pptx
pandas - Python Data Analysis
Python Collections
Pandas
Queues & ITS TYPES

What's hot (20)

PPTX
Heap sort
PDF
Python programming : Arrays
PPTX
Doubly linked list (animated)
PPT
Two dimensional array
PDF
Python Basics
PPTX
Introduction to numpy Session 1
PPTX
Data visualization using R
PPTX
Python pandas Library
PPTX
Introduction to numpy
PPTX
Stressen's matrix multiplication
PPTX
Python - Numpy/Pandas/Matplot Machine Learning Libraries
PDF
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
PPTX
Python-for-Data-Analysis.pptx
PPTX
Naïve Bayes Classifier Algorithm.pptx
PPTX
Sparse matrix and its representation data structure
PPTX
Python Scipy Numpy
PPTX
2. Array in Data Structure
PPTX
Set data structure 2
PPT
Python Pandas
PPTX
heap Sort Algorithm
Heap sort
Python programming : Arrays
Doubly linked list (animated)
Two dimensional array
Python Basics
Introduction to numpy Session 1
Data visualization using R
Python pandas Library
Introduction to numpy
Stressen's matrix multiplication
Python - Numpy/Pandas/Matplot Machine Learning Libraries
BCA DATA STRUCTURES LINEAR ARRAYS MRS.SOWMYA JYOTHI
Python-for-Data-Analysis.pptx
Naïve Bayes Classifier Algorithm.pptx
Sparse matrix and its representation data structure
Python Scipy Numpy
2. Array in Data Structure
Set data structure 2
Python Pandas
heap Sort Algorithm
Ad

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

PDF
PPT
Introduction to Numpy Foundation Study GuideStudyGuide
PPTX
NUMPY LIBRARY study materials PPT 2.pptx
PDF
Week002-Presentation.pptx-638674812983397395.pdf
PPTX
numpy code and examples with attributes.pptx
PDF
Numpy - Array.pdf
PPT
Python crash course libraries numpy-1, panda.ppt
PDF
Python for Data Science and Scientific Computing
PPT
CAP776Numpy (2).ppt
PPT
CAP776Numpy.ppt
PPTX
UNIT-03_Numpy (1) python yeksodbbsisbsjsjsh
PDF
Numpy_Cheat_Sheet.pdf
PPTX
NumPy-python-27-9-24-we.pptxNumPy-python-27-9-24-we.pptx
PDF
Numpy python cheat_sheet
PDF
Numpy python cheat_sheet
PDF
Python_cheatsheet_numpy.pdf
PPTX
Data Preprocessing Introduction for Machine Learning
PPTX
Lecture 2 _Foundions foundions NumPyI.pptx
PDF
ACFrOgAabSLW3ZCRLJ0i-To_2fPk_pA9QThyDKNNlA3VK282MnXaLGJa7APKD15-TW9zT_QI98dAH...
Introduction to Numpy Foundation Study GuideStudyGuide
NUMPY LIBRARY study materials PPT 2.pptx
Week002-Presentation.pptx-638674812983397395.pdf
numpy code and examples with attributes.pptx
Numpy - Array.pdf
Python crash course libraries numpy-1, panda.ppt
Python for Data Science and Scientific Computing
CAP776Numpy (2).ppt
CAP776Numpy.ppt
UNIT-03_Numpy (1) python yeksodbbsisbsjsjsh
Numpy_Cheat_Sheet.pdf
NumPy-python-27-9-24-we.pptxNumPy-python-27-9-24-we.pptx
Numpy python cheat_sheet
Numpy python cheat_sheet
Python_cheatsheet_numpy.pdf
Data Preprocessing Introduction for Machine Learning
Lecture 2 _Foundions foundions NumPyI.pptx
ACFrOgAabSLW3ZCRLJ0i-To_2fPk_pA9QThyDKNNlA3VK282MnXaLGJa7APKD15-TW9zT_QI98dAH...
Ad

More from Wei-Yuan Chang (20)

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

Recently uploaded (20)

PDF
Delhi c@ll girl# cute girls in delhi with travel girls in delhi call now
PPTX
9 Bioterrorism.pptxnsbhsjdgdhdvkdbebrkndbd
PPTX
cyber row.pptx for cyber proffesionals and hackers
PDF
Lesson 1 - intro Cybersecurity and Cybercrime.pptx.pdf
PPTX
cardiac failure and associated notes.pptx
PPTX
DIGITAL DESIGN AND.pptx hhhhhhhhhhhhhhhhh
PPT
Classification methods in data analytics.ppt
PPTX
Overview_of_Computing_Presentation.pptxxx
PDF
Hikvision-IR-PPT---EN.pdfSADASDASSAAAAAAAAAAAAAAA
PDF
Book Trusted Companions in Delhi – 24/7 Available Delhi Personal Meeting Ser...
PPTX
Stats annual compiled ipd opd ot br 2024
PPTX
PPT for Diseases (1)-2, types of diseases.pptx
PDF
book-34714 (2).pdfhjkkljgfdssawtjiiiiiujj
PDF
General category merit rank list for neet pg
PPTX
Chapter security of computer_8_v8.1.pptx
PPT
2011 HCRP presentation-final.pptjrirrififfi
PDF
PPT IEPT 2025_Ms. Nurul Presentation 10.pdf
PPTX
Bussiness Plan S Group of college 2020-23 Final
PPT
Technicalities in writing workshops indigenous language
PPTX
inbound2857676998455010149.pptxmmmmmmmmm
Delhi c@ll girl# cute girls in delhi with travel girls in delhi call now
9 Bioterrorism.pptxnsbhsjdgdhdvkdbebrkndbd
cyber row.pptx for cyber proffesionals and hackers
Lesson 1 - intro Cybersecurity and Cybercrime.pptx.pdf
cardiac failure and associated notes.pptx
DIGITAL DESIGN AND.pptx hhhhhhhhhhhhhhhhh
Classification methods in data analytics.ppt
Overview_of_Computing_Presentation.pptxxx
Hikvision-IR-PPT---EN.pdfSADASDASSAAAAAAAAAAAAAAA
Book Trusted Companions in Delhi – 24/7 Available Delhi Personal Meeting Ser...
Stats annual compiled ipd opd ot br 2024
PPT for Diseases (1)-2, types of diseases.pptx
book-34714 (2).pdfhjkkljgfdssawtjiiiiiujj
General category merit rank list for neet pg
Chapter security of computer_8_v8.1.pptx
2011 HCRP presentation-final.pptjrirrififfi
PPT IEPT 2025_Ms. Nurul Presentation 10.pdf
Bussiness Plan S Group of college 2020-23 Final
Technicalities in writing workshops indigenous language
inbound2857676998455010149.pptxmmmmmmmmm

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