หากคุณยังใหม่กับการเขียนโปรแกรมและต้องการเรียนรู้วิธีทำงานกับข้อมูลตัวเลขใน python NumPy ถือเป็นไลบรารี่ที่จำเป็นสำหรับการเรียนรู้

การแนะนำ

NumPy ย่อมาจาก 'Numerical Python' เป็นแพ็คเกจการวิเคราะห์ข้อมูลและการคำนวณทางวิทยาศาสตร์ด้วย Python NumPy ใช้วัตถุอาร์เรย์หลายมิติและมีฟังก์ชันและเครื่องมือสำหรับการทำงานกับอาร์เรย์เหล่านี้ อาร์เรย์ n มิติอันทรงพลังใน NumPy ช่วยเพิ่มความเร็วในการประมวลผลข้อมูล NumPy สามารถเชื่อมต่อกับแพ็คเกจ Python อื่น ๆ ได้อย่างง่ายดาย และมีเครื่องมือสำหรับบูรณาการกับภาษาการเขียนโปรแกรมอื่น ๆ เช่น C, C++ เป็นต้น

NumPy คืออะไร?

NumPy เป็นไลบรารีสำหรับภาษาการเขียนโปรแกรม Python โดยเพิ่มการรองรับอาร์เรย์และเมทริกซ์หลายมิติขนาดใหญ่ พร้อมด้วยฟังก์ชันทางคณิตศาสตร์ระดับสูงจำนวนมากเพื่อดำเนินการกับอาร์เรย์เหล่านี้

ข้อกำหนดเบื้องต้น

สิ่งเดียวที่คุณต้องการสำหรับการติดตั้ง NumPy (บน windows) คือ:

1. หลาม

2. Pip หรือ Conda (ขึ้นอยู่กับความชอบของผู้ใช้)

กำลังติดตั้ง NumPy

สำหรับผู้ใช้ Conda:

หากคุณต้องการให้การติดตั้งเสร็จสิ้นผ่าน Conda คุณสามารถใช้คำสั่งด้านล่าง

conda install –c anaconda numpy

สำหรับผู้ใช้ PIP:

ผู้ใช้ที่ต้องการใช้ pip สามารถใช้คำสั่งด้านล่างเพื่อติดตั้ง NumPy

pip install numpy

ตอนนี้คุณได้ติดตั้ง NumPy ในระบบของคุณเรียบร้อยแล้ว

วิธีการนำเข้า NumPy

หากต้องการเข้าถึง NumPy และฟังก์ชั่นให้นำเข้ามันในโค้ด python ของคุณเช่นนี้

Import numpy as np

เราย่อชื่อที่นำเข้าเป็น np เพื่อให้อ่านโค้ดได้ดีขึ้นโดยใช้ NumPy

อาร์เรย์

อาร์เรย์คือประเภทข้อมูลที่ใช้ในการจัดเก็บค่าหลายค่าโดยใช้ตัวระบุตัวเดียว (ชื่อตัวแปร) อาร์เรย์ประกอบด้วยคอลเลกชันองค์ประกอบข้อมูลที่เรียงลำดับโดยแต่ละองค์ประกอบเป็นประเภทเดียวกันและสามารถอ้างอิงได้โดยดัชนี (ตำแหน่ง)

อาร์เรย์ NumPy

อาร์เรย์ NumPy ใช้เพื่อจัดเก็บรายการข้อมูลตัวเลข เวกเตอร์ และเมทริกซ์ ไลบรารี NumPy มีชุดรูทีนขนาดใหญ่ (ฟังก์ชันในตัว) สำหรับการสร้าง จัดการ และแปลงอาร์เรย์ NumPy ภาษา Python ก็มีโครงสร้างข้อมูลแบบอาร์เรย์เช่นกัน แต่มันไม่อเนกประสงค์ มีประสิทธิภาพ และมีประโยชน์เท่ากับอาร์เรย์ NumPy อาร์เรย์ NumPy มีชื่ออย่างเป็นทางการว่าอาร์เรย์ Nd แต่รู้จักกันทั่วไปในชื่ออาร์เรย์

ความแตกต่างระหว่างรายการและอาร์เรย์

ด้านล่างนี้ในรูปแบบตารางคือความแตกต่างระหว่างรายการและอาร์เรย์

สร้าง NumPy ndarray

NumPy ใช้เพื่อทำงานกับอาร์เรย์ วัตถุอาร์เรย์ใน NumPy เรียกว่า ndarray เราสามารถสร้างวัตถุ NumPy ndarray ได้โดยใช้ฟังก์ชัน array()

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

print(arr)

print(type(arr))

การจัดทำดัชนีอาร์เรย์ NumPy

การจัดทำดัชนีอาร์เรย์จะเหมือนกับการเข้าถึงองค์ประกอบอาร์เรย์ คุณสามารถเข้าถึงองค์ประกอบอาร์เรย์ได้โดยอ้างอิงถึงหมายเลขดัชนี ดัชนีในอาร์เรย์ NumPy เริ่มต้นด้วย 0 ซึ่งหมายความว่าองค์ประกอบแรกมีดัชนี 0 และองค์ประกอบที่สองมีดัชนี 1 เป็นต้น

import numpy as np

arr = np.array([1, 2, 3, 4])

print(arr[0])

การแบ่งส่วนอาร์เรย์ NumPy

การแบ่งส่วนใน python หมายถึงการนำองค์ประกอบจากดัชนีหนึ่งไปยังดัชนีอื่นที่กำหนด เราส่งสไลซ์แทนดัชนีดังนี้: [start:end] นอกจากนี้เรายังสามารถกำหนดขั้นตอนได้ดังนี้: [เริ่มต้น:สิ้นสุด:ขั้นตอน] หากเราไม่ผ่าน การเริ่มต้นจะถือเป็น 0 หากเราไม่ผ่านจุดสิ้นสุด ความยาวของอาเรย์ที่พิจารณาในมิตินั้น หากเราไม่ผ่านขั้นตอนจะถือเป็น 1

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5])

การดำเนินการเลขคณิต NumPy

อาร์เรย์อินพุตสำหรับการดำเนินการทางคณิตศาสตร์ เช่น บวก() ลบ() คูณ() และหาร() จะต้องมีรูปร่างเหมือนกันหรือควรเป็นไปตามกฎการออกอากาศอาร์เรย์

import numpy as np 
a = np.arange(9, dtype = np.float_).reshape(3,3) 

print 'First array:' 
print a 
print '\n'  

print 'Second array:' 
b = np.array([10,10,10]) 
print b

พิมพ์ '\n' อาร์เรย์อินพุตสำหรับการดำเนินการทางคณิตศาสตร์ เช่น บวก() ลบ() คูณ() และหาร() จะต้องมีรูปร่างเหมือนกัน หรือควรเป็นไปตามกฎการออกอากาศอาร์เรย์

print 'Add the two arrays:' 
print np.add(a,b) 
print '\n'  

print 'Subtract the two arrays:' 
print np.subtract(a,b) 
print '\n'  

print 'Multiply the two arrays:' 
print np.multiply(a,b) 
print '\n'  

print 'Divide the two arrays:' 
print np.divide(a,b)

พีชคณิตเชิงเส้น NumPy

NumPy มีโมดูลอันทรงพลังชื่อ numpy.linalg ที่ให้คุณดำเนินการพีชคณิตเชิงเส้นบนอาร์เรย์ได้ โมดูลนี้ประกอบด้วยฟังก์ชันสำหรับการดำเนินการเมทริกซ์ ดีเทอร์มิแนนต์ ค่าผกผัน ค่าลักษณะเฉพาะ และเวกเตอร์ลักษณะเฉพาะ และอื่นๆ

ทำงานร่วมกับความสามารถพีชคณิตเชิงเส้นของ NumPy คุณจะต้องสร้างอาร์เรย์ NumPy อาร์เรย์ NumPy คล้ายกับรายการ Python แต่สามารถมีหลายมิติและได้รับการปรับให้เหมาะสมสำหรับการดำเนินการเชิงตัวเลข

โมดูลพีชคณิตเชิงเส้นของ NumPy เสนอวิธีการต่างๆ ในการใช้พีชคณิตเชิงเส้นกับอาร์เรย์ numpy ใดๆ
หนึ่งสามารถพบได้:

  • อันดับ ดีเทอร์มิแนนต์ การติดตาม ฯลฯ ของอาร์เรย์
  • ค่าลักษณะเฉพาะของเมทริกซ์
  • ผลคูณเมทริกซ์และเวกเตอร์ (ผลคูณดอท ภายใน ด้านนอก ฯลฯ) การยกกำลังเมทริกซ์
  • แก้สมการเชิงเส้นหรือเทนเซอร์และอีกมากมาย!
import numpy as np
 
A = np.array([[6, 1, 1],
              [4, -2, 5],
              [2, 8, 7]])
 
print("Rank of A:", np.linalg.matrix_rank(A))
 
print("\nTrace of A:", np.trace(A))
 
print("\nDeterminant of A:", np.linalg.det(A))
 
print("\nInverse of A:\n", np.linalg.inv(A))
 
print("\nMatrix A raised to power 3:\n",
           np.linalg.matrix_power(A, 3))

มาดูผลลัพธ์กันดีกว่า:

Rank of A: 3

Trace of A: 11

Determinant of A: -306.0

Inverse of A:
 [[ 0.17647059 -0.00326797 -0.02287582]
 [ 0.05882353 -0.13071895  0.08496732]
 [-0.11764706  0.1503268   0.05228758]]

Matrix A raised to power 3:
 [[336 162 228]
 [406 162 469]
 [698 702 905]]

บทสรุป

การเรียนรู้พื้นฐานของ NumPy เป็นสิ่งจำเป็นสำหรับผู้เริ่มต้นในสาขาวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่อง ด้วยความสามารถในการจัดการอาเรย์อันทรงพลังและฟังก์ชันที่ใช้งานง่าย NumPy ได้กลายเป็นไลบรารี่สำหรับการดำเนินการเชิงตัวเลขใน Python ในบทความนี้ เราได้จัดทำคู่มือสำหรับผู้เริ่มต้นใช้งาน NumPy ซึ่งครอบคลุมฟีเจอร์หลักๆ เช่น การสร้างอาร์เรย์ การทำดัชนี การแบ่งส่วน และการดำเนินการทางคณิตศาสตร์ของ NumPy ด้วยการเรียนรู้แนวคิดพื้นฐานเหล่านี้ ผู้อ่านสามารถเริ่มสำรวจการดำเนินงานและแอปพลิเคชันที่ซับซ้อนมากขึ้นของ NumPy ในโครงการวิเคราะห์ข้อมูลของตนได้ เช่นเดียวกับทักษะใหม่ๆ การฝึกฝนถือเป็นกุญแจสำคัญ ดังนั้นเราจึงสนับสนุนให้ผู้อ่านทดลองใช้ NumPy และเรียนรู้ต่อผ่านแหล่งข้อมูลออนไลน์และบทช่วยสอน ด้วยเครื่องมือเหล่านี้ ผู้เริ่มต้นจะสามารถมีความเชี่ยวชาญใน NumPy และพัฒนาทักษะด้านวิทยาศาสตร์ข้อมูลได้