ข้ามไปเนื้อหา

NumPy

จากวิกิพีเดีย สารานุกรมเสรี
(เปลี่ยนทางจาก นัมไพ)

NumPy[1] เป็นส่วนขยายของภาษาไพทอน เพื่อจัดการเมทริกซ์หรืออาร์เรย์หลายมิติรวมถึงฟังก์ชันทางคณิตศาสตร์ที่ทำงานบนอาร์เรย์เหล่านี้

นอกจากนั้นคลังซอฟต์แวร์โอเพนซอร์สและเสรีนี้มีฟังก์ชันหลายอย่างที่จัดการและใช้งานได้ง่ายขึ้น โดยเฉพาะอย่างยิ่งในการสร้างอาร์เรย์โดยตรงจากไฟล์ หรือเพื่อบันทึกอาร์เรย์ในไฟล์ เพื่อจัดการเวกเตอร์ เมทริกซ์ และพหุนาม

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]])

หมายเหตุและอ้างอิง

[แก้]
  1. "NumPy documentation — NumPy v2.1 Manual". numpy.org.

ดูเพิ่ม

[แก้]
  • SciPy  : คลังเกี่ยวกับการคำนวณทางวิทยาศาสตร์

แหล่งข้อมูลอื่น

[แก้]