NumPy
หน้าตา
![]() | บทความนี้อาจต้องการตรวจสอบต้นฉบับ ในด้านไวยากรณ์ รูปแบบการเขียน การเรียบเรียง คุณภาพ หรือการสะกด คุณสามารถช่วยพัฒนาบทความได้ |
บทความนี้ไม่มีการอ้างอิงจากแหล่งที่มาใด |
NumPy เป็นส่วนขยายของภาษาไพทอน เพื่อจัดการเมทริกซ์หรืออาร์เรย์หลายมิติรวมถึงฟังก์ชันทางคณิตศาสตร์ที่ทำงานบนอาร์เรย์เหล่านี้
นอกจากนั้นคลังซอฟต์แวร์โอเพนซอร์สและเสรีนี้มีฟังก์ชันหลายอย่างที่จัดการและใช้งานได้ง่ายขึ้น โดยเฉพาะอย่างยิ่งในการสร้างอาร์เรย์โดยตรงจากไฟล์ หรือเพื่อบันทึกอาร์เรย์ในไฟล์ เพื่อจัดการเวกเตอร์ เมทริกซ์ และพหุนาม
NumPy เป็นฐานเพิ่มเติมของ SciPy ซึ่งเป็นการเก็บรวบรวมคลังโปรแกรมของ Python เกี่ยวกับการคำนวณทางวิทยาศาสตร์
ตัวอย่าง
[แก้]การสร้างตาราง
[แก้]>>> import numpy as np
>>> x = np.array ([1, 2, 3])
>>> x
array ([1, 2, 3])
>>> y = np.arange (10)
>>> y
array ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
การดำเนินงานขั้นพื้นฐาน
[แก้]>>> a = np.array ([1, 2, 3, 6])
>>> b = np.linspace (0, 2, 4)
>>> c = a - b
>>> c
array ([ 1. , 1.33333333, 1.66666667, 4. ])
>>> a**2
array ([ 1, 4, 9, 36])
ฟังก์ชันสากล
[แก้]>>> a = np.linspace (-np.pi, np.pi, 100)
>>> b = np.sin (a)
>>> c = np.cos (a)
พีชคณิตเชิงเส้น
[แก้]>>> from numpy.random import rand
>>> from numpy.linalg import solve, inv
>>> a = np.array ([[1, 2, 3], [3, 4, 6.7], [5, 9.0, 5]])
>>> a.transpose ()
array ([[1. , 3. , 5. ],
[ 2. , 4. , 9. ],
[ 3. , 6.7, 5. ]])
>>> inv (a)
array ([[-2.27683616, 0.96045198, 0.07909605],
[ 1.04519774, -0.56497175, 0.1299435 ],
[ 0.39548023, 0.05649718, -0.11299435]])
>>> b = array ([3, 2, 1])
>>> solve (a, b) # résout ax = b
array ([-4.83050847, 2.13559322, 1.18644068])
>>> c = rand (3, 3) # crée une matrice 3x3 au hasard
>>> c
array ([[ 3.98732789, 2.47702609, 4.71167924],
[ 9.24410671, 5.5240412 , 10.6468792 ],
[ 10.38136661, 8.44968437, 15.17639591]])
>>> np.dot (a, c) # multiplication de matrices
array ([[ 53.61964114, 38.8741616 , 71.53462537],
[ 118.4935668 , 86.14012835, 158.40440712],
[ 155.04043289, 104.3499231 , 195.26228855]])
>>> a @ c # depuis Python 3.5 et NumPy 1.10, équivalent à np.dot (a, c)
array ([[ 53.61964114, 38.8741616 , 71.53462537],
[ 118.4935668 , 86.14012835, 158.40440712],
[ 155.04043289, 104.3499231 , 195.26228855]])
หมายเหตุและอ้างอิง
[แก้]
ดูเพิ่ม
[แก้]- SciPy : คลังเกี่ยวกับการคำนวณทางวิทยาศาสตร์