NumPy หรือ Numerical Python เป็น library ของ Python ที่ใช้ในการคำนวณเชิงตรรกะ
Operations หรือ วิธีการดำเนินการกับ array ใน NumPy นั้นมีหลายวิธี Arithmetic Operations คือการดำเนินการทางคณิตศาสตร์ สามารถใช้ดำเนินการ array ได้
การดำเนินการทางคณิตศาตร์ใน NumPy Array มี 7 แบบด้วยกันดังนี้
Addition (การบวก)
x = np.arange(1,5)
y = np.array([2,4,5,6])
c = x+y
print(c)
output:
[ 3 6 8 10]
ในตัวอย่างมี 2 arrays แต่ละ array มีข้อมูลทั้งหมด 4 ตัว มีวิธีสร้าง array ต่างกัน คือ x ใช้ numpy.arange() สร้าง ส่วน y ใช้ numpy.array() สร้าง
เมื่อเราใช้เครื่องหมายบวก หรือการดำเนินการทางคณิตศาสตร์ด้วยการบวก จะได้ผลลัพธ์เป็นผลบวกระหว่างข้อมูลทั้งสองตัวที่อยู่ในตำแหน่ง index เดียวกันของทั้งสอง array
การใช้เครื่องหมายบวกกับ array ไม่เท่ากับการ joint array เข้าด้วยกัน
Subtraction (การลบ)
x = np.arange(1,5)
y = np.array([2,4,5,6])
c = x-y
print(c)
output:
[-1 -2 -2 -2]
Multiplication (การคูณ)
x = np.arange(1,5)
y = np.array([2,4,5,6])
c = x*y
output:
[ 2 8 15 24]
เครื่องหมายที่ใช้คือเครื่องหมาย asterisk *
Division (การหาร)
x = np.arange(8,15,2)
y = np.array([2,4,6,8])
c = x/y
print(c)
output:
[4. 2.5 2. 1.75]
เครื่องหมายที่ใช้คือเครื่องหมาย slash /
Modulus (การหารเอาเศษ)
x = np.arange(8,15,2)
y = np.array([2,4,6,8])
c = x%y
print(c)
output:
[0 2 0 6]
เครื่องหมายที่ใช้คือเครื่องหมายเปอร์เซ็นต์ %
ผลลัพธ์ที่ได้จะเป็นเศษที่ได้จากการหารเท่านั้น จะแตกต่างจากการหารปกติ เช่น 8 หาร 2 ได้ 4 ไม่เหลือเศษ หมายความว่าเศษเป็น 0 ผลลัพธ์ที่ได้คือ 0 เป็นต้น
Exponent (การยกกำลัง)
x = np.arange(8,15,2)
y = np.arange(1,5)
c = x**y
print(c)
output:
[8 100 1728 38416]
เครื่องหมายที่ใช้คือเครื่องหมาย asterisk 2 อัน **
เป็นการนำข้อมูลแต่ละตัวของ array x มายกกำลังด้วยข้อมูลแต่ละตัวของ array y เช่น ข้อมูลแรกใน array x คือ 8 นำมายกกำลัง 1 ได้ผลลัพธ์เท่ากับ 8 เป็นต้น
Floor Division
x = np.arange(8,15,2)
y = np.array([3,6,4,3])
c = x//y
print(c)
output:
[2 1 3 4]
ใช้เครื่องหมาย slash / ซ้ำกัน 2 อัน
เป็นการหารที่ไม่เอาเศษที่ได้จากการหาร เช่น 8 หาร 3 ได้ 2.66666667 เราจะเอาแค่ 2 เท่านั้น เป็นต้น ผลที่ได้จากหารแบบ floor division จะไม่มีจุดทศนิยม
เมื่อต้องการใช้การดำเนินการทางคณิตศาสตร์ จำนวนข้อมูลของ arrays ที่นำมาดำเนินการต้องมีจำนวนเท่ากัน เช่น หาก array แรกมีข้อมูล 4 ตัว array ที่สองก็ต้องมีข้อมูล 4 ตัวด้วย หากจำนวนข้อมูลของทั้งสอง arrays มีไม่เท่ากัน จะเกิด ValueError
x = np.arange(1,6)
y = np.array([2,4,5,6])
c = x-y
print(c)
output:
ValueError: operands could not be broadcast together with shapes (5,) (4,)