intro to python - bmi case practice

30
行動開發學院 MobileDev.TW Introduction to Python for Data Science DAT208x Ryan Chung Program R&D Manager III IT Training Center 1

Upload: ryan-chung

Post on 21-Jan-2018

309 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

Introduction to Python for Data Science

DAT208x

Ryan ChungProgram R&D Manager

III IT Training Center1

Page 2: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

PROGRAMMINGWITHPYTHONFORDATASCIENCE

PROGRAMMINGWITHRFORDATA

SCIENCE

APPLIEDMACHINELEARNING

DEVELOPINGINTELLIGENTAPPLICATIONSANDBOTS

IMPLEMENTINGPREDICTIVESOLUTIONSWITHSPARKIN

HDINSIGHT

CORE DATASCIENCE

資料科學核心FUNDAMENTALS

基礎課程

APPLIEDDATA SCIENCE

應用資料科學

ANALYZING&VISUALIZINGDATAWITHPOWERBI

QUERYINGDATAWITHTRANSACT-

SQL

DATASCIENCEORIENTATION

ANALYZINGANDVISUALIZINGDATA

WITHEXCEL

PRINCIPLESOFMACHINELEARNING

EssentialStatisticsforDataAnalysis

usingExcel

INTRODUCTIONTORFORDATA

SCIENCE

INTRODUCTIONTOPYTHONFORDATASCIENCE

DATASCIENCEESSENTIALS

CORTANACOMPETITION

PROJECT專案

Microsoft Professional Program

ANALYZINGBIGDATAWITHMICROSOFTR

SERVER

DATA SCIENCE CHALLENGE

名稱Introduction to Python for Data Science

資料科學會用到的Python語言 - 導論

時數 每週 2~4 小時、共 6 週

目標學習Python語言,從簡單的運算、變數與資料結構,再到函數、流程控制,並開始能用真實的資料來進行視覺化。

2

Page 3: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

線上課程網址

https://openedx.iiiedu.org.tw/courses/course-v1:Microsoft+DAT208x+2017/info

3

Page 4: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

模組與學習目標1. Python語法基礎– 了解基本語法、變數與型態

2. List 資料結構– 建立與維護一個常見的Python List

3. 函數與套件– 了解如何使用函數、匯入套件

4. Plotting with Matplotlib– 使用真實資料來繪製圖型

5. 流程控制與Pandas– 使用控制流程以及了解Pandas data frame

4

Page 5: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

本機開發環境 1• PyCharm

5

https://www.jetbrains.com/pycharm/

Page 6: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

本機開發環境 2• Jupyter notebook – 可透過Anaconda安裝

6

https://www.anaconda.com/download/#download

Page 7: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

雲端練習環境• DataCamp (課程Lab自動進入)

7

Page 8: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

案例:BMI值計算1. 直接計算BMI值2. 顯示BMI值對應的結果3. 用List建立全家人的BMI資料4. 幫全家人檢驗,判斷是否落於正常範圍5. 用BMI資料畫圖,觀察一年的體重變化6. 引用兒童的BMI指標來進行比對

8

Page 9: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

使用Python計算BMI值• 變數直接命名、直接給值• **n:乘以自己n次

9

Page 10: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

BMI值標準

10

成人的體重分級與標準

分 級 身體質量指數

體重過輕 BMI < 18.5

正常範圍 18.5 ≦ BMI <24

過 重 24 ≦ BMI < 27

輕度肥胖 27 ≦ BMI < 30

中度肥胖 30 ≦ BMI < 35

重度肥胖 BMI ≧ 35

資料來源:衛生署食品資訊網/肥胖及體重控制

Page 11: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

顯示判斷結果• if• elif• else

11

Page 12: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

用List建立全家的BMI資料• 名稱、身高、體重、BMI值、BMI指標、

是否落於正常範圍

12

Page 13: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

用List建立全家的BMI資料• 名稱、身高、體重、BMI值、BMI指標、

是否落於正常範圍

13

Page 14: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

用List建立全家的BMI資料• 名稱、身高、體重、BMI值、BMI指標、

是否落於正常範圍

14

Page 15: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

前面用到的語法• 資料型態–字串、整數、浮點數、布林值、list

• 運算符–等於、大於、大於等於、小於等於、小於

• 流程控制–迴圈– if..else if..else

• List 運算–新增元素

15

Page 16: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

檢查資料型態

16

Page 17: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

觀察list中的部分元素• 起始 : 結束• 取出元素不包含結束• 不寫開頭,代表從最前面開始• 不寫結尾,代表從那一項開始走到全部結束

17

Page 18: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

使用numpy array• Element-Wise Calculation• 可計算平均數、中位數、是否相關連、標

準差• 儲存相同資料型態

18

Page 19: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

在PyCharm中安裝套件• Preferences... -> Project• Project Intepreter• 下方加號,輸入關鍵字,搜尋後安裝

19

Page 20: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

將原本的資料搬至陣列

20

Page 21: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

計算全家人的一些統計數字

21

Page 22: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

畫圖

22

Page 23: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

加上標籤

23

Page 24: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

觀察家人一年的體重變化

24

Page 25: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

幼童的BMI值標準不同• 兒童與青少年生長身體質量指數(BMI)建議值–衛福部公布

25

Page 26: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

更新兒童的BMI指標與是否標準• 在資料中增加性別、年齡• 判斷年齡是否小於18歲• 依年齡、性別比對BMI標準值

26

Page 27: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

匯入、比對與更新

27

Page 28: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

匯入、比對與更新

28

小孩的BMI指標已更新!

Page 29: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

轉換成DataFrame來顯示

29

Page 30: Intro to Python - BMI Case Practice

行動開發學院 MobileDev.TW

敬請指教

Ryan ChungProgram R&D Manager

III IT Training [email protected]

30