NumPy

Python เบื้องต้น

Hugo Bowne-Anderson

Data Scientist at DataCamp

ทบทวน List

  • ทรงพลัง

  • เก็บชุดของค่า

  • รองรับหลายประเภทข้อมูล

  • เปลี่ยนแปลง เพิ่ม ลบได้

  • ความต้องการใน Data Science

    • การดำเนินการทางคณิตศาสตร์บนชุดข้อมูล

    • ความเร็ว

Python เบื้องต้น

ตัวอย่าง

height = [1.73, 1.68, 1.71, 1.89, 1.79]
height
[1.73, 1.68, 1.71, 1.89, 1.79]
weight = [65.4, 59.2, 63.6, 88.4, 68.7]
weight
[65.4, 59.2, 63.6, 88.4, 68.7]
weight / height ** 2
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
Python เบื้องต้น

วิธีแก้ปัญหา: NumPy

  • Numeric Python

  • ทางเลือกแทน Python List: NumPy Array

  • คำนวณบน array ทั้งชุดได้

  • ง่ายและรวดเร็ว

  • การติดตั้ง

    • ใน terminal: pip3 install numpy
Python เบื้องต้น

NumPy

import numpy as np

np_height = np.array(height) np_height
array([1.73, 1.68, 1.71, 1.89, 1.79])
np_weight = np.array(weight)
np_weight
array([65.4, 59.2, 63.6, 88.4, 68.7])
bmi = np_weight / np_height ** 2
bmi
array([21.85171573, 20.97505669, 21.75028214, 24.7473475 , 21.44127836])
Python เบื้องต้น

การเปรียบเทียบ

height = [1.73, 1.68, 1.71, 1.89, 1.79]
weight = [65.4, 59.2, 63.6, 88.4, 68.7]
weight / height ** 2
TypeError: unsupported operand type(s) for ** or pow(): 'list' and 'int'
np_height = np.array(height)
np_weight = np.array(weight)
np_weight / np_height ** 2
array([21.85171573, 20.97505669, 21.75028214, 24.7473475 , 21.44127836])
Python เบื้องต้น

NumPy: ข้อสังเกต

np.array([1.0, "is", True])
array(['1.0', 'is', 'True'], dtype='<U32')
  • NumPy array: มีข้อมูลได้เพียงประเภทเดียว
Python เบื้องต้น

NumPy: ข้อสังเกต

python_list = [1, 2, 3]
numpy_array = np.array([1, 2, 3])
python_list + python_list
[1, 2, 3, 1, 2, 3]
numpy_array + numpy_array
array([2, 4, 6])
  • ประเภทต่างกัน: พฤติกรรมต่างกัน!
Python เบื้องต้น

การ Subset ใน NumPy

bmi
array([21.85171573, 20.97505669, 21.75028214, 24.7473475 , 21.44127836])
bmi[1]
20.975
bmi > 23
array([False, False, False,  True, False])
bmi[bmi > 23]
array([24.7473475])
Python เบื้องต้น

มาฝึกกันเถอะ!

Python เบื้องต้น

Preparing Video For Download...