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

NumPy

จากวิกิพีเดีย สารานุกรมเสรี
นัมไพ
ผู้ออกแบบTravis Oliphant
นักพัฒนาโครงการชุมชน
วันที่เปิดตัวในชื่อ Numeric, ค.ศ. 1995 (1995); ในชื่อ NumPy, ค.ศ. 2006 (2006)
รุ่นเสถียร
2.3.5[1] / 16 พฤศจิกายน 2025; 2 วันก่อน (16 พฤศจิกายน 2025)
ที่เก็บข้อมูล
ภาษาที่เขียนPython, C
ระบบปฏิบัติการข้ามแพลตฟอร์ม
ประเภทการวิเคราะห์เชิงตัวเลข
สัญญาอนุญาตBSD[2]
เว็บไซต์numpy.org Edit this on Wikidata

นัมไพ (อังกฤษ: NumPy, /ˈnʌmp/ num-py) เป็นส่วนขยายของภาษาไพทอน เพื่อจัดการเมทริกซ์หรืออาร์เรย์หลายมิติรวมถึงฟังก์ชันทางคณิตศาสตร์ระดับสูงที่ทำงานบนอาร์เรย์เหล่านี้ [3]

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

นัมไพเป็นฐานเพิ่มเติมของ SciPy ซึ่งเป็นการเก็บรวบรวมคลังโปรแกรมของ Python เกี่ยวกับการคำนวณทางวิทยาศาสตร์ นัมไพเป็นซอฟต์แวร์โอเพนซอร์สและมีผู้มีส่วนร่วมหลายคน นัมไพได้รับการสนับสนุนทางการเงินโดยนัมโฟกัส[4]

ตัวอย่าง

[แก้]

การสร้างตาราง

[แก้]
>>> 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. "Release 2.3.5". 16 พฤศจิกายน 2025. สืบค้นเมื่อ 18 พฤศจิกายน 2025.
  2. "NumPy — NumPy". numpy.org. NumPy developers.
  3. Charles R Harris; K. Jarrod Millman; Stéfan J. van der Walt; และคณะ (16 กันยายน 2020, 1 กันยายน 2020), "Array programming with NumPy", เนเจอร์, 585 (7825): 357–362, arXiv:2006.10256, doi:10.1038/S41586-020-2649-2, PMC 7759461, PMID 32939066 {{citation}}: ตรวจสอบค่าวันที่ใน: |date= (help), Wikidata Q99413970
  4. "NumFOCUS Sponsored Projects". NumFOCUS. สืบค้นเมื่อ 2021-10-25.

อ่านเพิ่ม

[แก้]

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

[แก้]