NumPy ย่อมาจาก 'Numerical Python' เป็นไลบรารีที่มีออบเจกต์อาร์เรย์หลายมิติ (multidimensional array) และเมธอดมากมายสำหรับประมวลผลอาร์เรย์
NumPy ใช้ทำงานกับอาร์เรย์หลากหลายรูปแบบ ใช้ร่วมกับแพ็กเกจอย่าง SciPy, Matplotlib เป็นต้น NumPy + Matplotlib ถือเป็นทางเลือกแทน MatLab เป็นแพ็กเกจโอเพนซอร์ส ใครก็ใช้ได้ การติดตั้งผ่าน pip:
pip install numpy
ออบเจกต์สำคัญที่สุดคือ n-dimensional array หรือ 'ndarray' เก็บข้อมูลชนิดเดียวกัน เข้าถึงด้วยดัชนี 0-based ทุกสมาชิกใช้หน่วยความจำเท่ากัน ตรวจสอบชนิดข้อมูลด้วย 'dtype' สามารถสไลด์อาร์เรย์ได้
เกี่ยวกับ NumPy array Broadcasting หมายถึงความสามารถของ NumPy ในการจัดการอาร์เรย์ที่มีรูปร่าง (shape) ต่างกันระหว่างการดำเนินการคณิตศาสตร์ หากสองอาร์เรย์ไม่ใช่ชนิดเดียวกัน จะไม่มีข้อผิดพลาด แต่การดำเนินการจะดำเนินต่อไปได้อย่างราบรื่น
ตัวอย่าง
import numpy as np
arr_1 = np.array([4, 6, 8, 0, 3])
arr_2 = np.array([11, 3, 7, 78, 999])
print("The first ndarray is ")
print(arr_1)
print("The second ndarray is ")
print(arr_2)
arr_3 = arr_1 * arr_2
print("The resultant array is ")
print(arr_3)
ผลลัพธ์
The first ndarray is [4 6 8 0 3] The second ndarray is [ 11 3 7 78 999] The resultant array is [ 44 18 56 0 2997]
คำอธิบาย
- นำเข้าไลบรารีที่จำเป็น
- สร้าง ndarray สองตัวด้วยค่าตัวเลข
- แสดงบนคอนโซล
- อาร์เรย์ที่สาม = ผลคูณของสองอาร์เรย์แรก (element-wise multiplication)
- แสดงผลลัพธ์
Broadcasting ทำงานอัตโนมัติเมื่ออาร์เรย์มี shape ตรงกันหรือสามารถขยายได้ (เช่น (5,) กับ (5,) หรือ (3,1) กับ (1,4) → (3,4))