Python บทช่วยสอน NumPy สำหรับผู้เริ่มต้น: เรียนรู้พร้อมตัวอย่าง
NumPy คืออะไร Python?
นำพาย เป็นห้องสมุดโอเพ่นซอร์สที่มีอยู่ใน Pythonซึ่งช่วยในด้านการเขียนโปรแกรมทางคณิตศาสตร์ วิทยาศาสตร์ วิศวกรรมศาสตร์ และวิทยาศาสตร์ข้อมูล เป็นไลบรารีที่มีประโยชน์มากในการดำเนินการทางคณิตศาสตร์และสถิติ Python- มันทำงานได้อย่างสมบูรณ์แบบสำหรับอาร์เรย์หลายมิติและการคูณเมทริกซ์ ง่ายต่อการรวมเข้ากับ C/C++ และ Fortran.
สำหรับโครงการทางวิทยาศาสตร์ NumPy เป็นเครื่องมือที่ควรรู้ มันถูกสร้างขึ้นเพื่อทำงานกับอาร์เรย์ N, พีชคณิตเชิงเส้น, ตัวเลขสุ่ม, การแปลงฟูริเยร์ ฯลฯ
NumPy เป็นภาษาโปรแกรมที่จัดการกับอาร์เรย์และเมทริกซ์หลายมิติ นอกเหนือจากอาร์เรย์และเมทริกซ์แล้ว NumPy ยังรองรับการดำเนินการทางคณิตศาสตร์จำนวนมาก ในส่วนนี้ เราจะทบทวนฟังก์ชันสำคัญที่คุณจำเป็นต้องรู้สำหรับบทช่วยสอนเกี่ยวกับ 'TensorFlow. '
ทำไมต้องใช้ NumPy?
NumPy คือประสิทธิภาพของหน่วยความจำ ซึ่งหมายความว่าสามารถจัดการข้อมูลจำนวนมหาศาลที่เข้าถึงได้ง่ายกว่าไลบรารีอื่นๆ นอกจากนี้ NumPy ยังใช้งานได้สะดวกมาก โดยเฉพาะการคูณเมทริกซ์และการปรับรูปร่างใหม่ ยิ่งไปกว่านั้น NumPy ยังรวดเร็วอีกด้วย ในความเป็นจริง TensorFlow และ Scikit เรียนรู้การใช้อาร์เรย์ NumPy เพื่อคำนวณการคูณเมทริกซ์ในส่วนหลัง
วิธีการติดตั้ง NumPy.mq4
หากต้องการติดตั้งไลบรารี NumPy โปรดดูบทช่วยสอนของเรา วิธีการติดตั้ง TensorFlow.mq4?- NumPy ได้รับการติดตั้งเป็นค่าเริ่มต้นด้วย Anaconda
ในกรณีระยะไกล ไม่ได้ติดตั้ง NumPy-
คุณสามารถติดตั้ง NumPy โดยใช้ Anaconda:
conda install -c anaconda numpy
- In Jupyter สมุดบันทึก :
import sys !conda install --yes --prefix {sys.prefix} numpy
นำเข้า NumPy และตรวจสอบเวอร์ชัน
คำสั่งในการนำเข้า numpy คือ:
import numpy as np
โค้ดด้านบนเปลี่ยนชื่อเนมสเปซ Numpy เป็น np สิ่งนี้ทำให้เราสามารถเติมคำนำหน้าฟังก์ชัน วิธีการ และคุณลักษณะของ Numpy ด้วย ” np ” แทนการพิมพ์ ” numpy” มันเป็นทางลัดมาตรฐานที่คุณจะพบในวรรณกรรมจำนวนมาก
หากต้องการตรวจสอบเวอร์ชัน NumPy ที่คุณติดตั้งไว้ ให้ใช้คำสั่งด้านล่าง:
print (np.__version__)
Output:
1.18.0
ความหมายของ Python อาร์เรย์ NumPy?
อาร์เรย์ NumPy มีลักษณะคล้ายกันเล็กน้อย Python รายการ แต่ก็ยังแตกต่างกันมากในเวลาเดียวกัน สำหรับผู้ที่เพิ่งเริ่มหัวข้อนี้ มาทำความเข้าใจกันดีกว่าว่ามันคืออะไรและมีประโยชน์อย่างไร
เนื่องจากชื่อเป็นการแจกแจง อาร์เรย์ NumPy จึงเป็นโครงสร้างข้อมูลส่วนกลางของไลบรารี numpy จริงๆ แล้วชื่อห้องสมุดย่อมาจาก “Numeric Python” หรือ “ตัวเลข Python"
การสร้างอาร์เรย์ NumPy
วิธีที่ง่ายที่สุดในการสร้างอาร์เรย์ใน Numpy คือการใช้ Python รายการ
myPythonList = [1,9,8,3]
ในการแปลงรายการหลามเป็นอาร์เรย์ numpy โดยใช้วัตถุ np.array
numpy_array_from_list = np.array(myPythonList)
เพื่อแสดงเนื้อหาของรายการ
numpy_array_from_list
Output:
array([1, 9, 8, 3])
ในทางปฏิบัติไม่จำเป็นต้องประกาศก Python รายการ การดำเนินการสามารถรวมกันได้
a = np.array([1,9,8,3])
หมายเหตุ: เอกสาร Numpy ระบุการใช้ np.ndarray เพื่อสร้างอาร์เรย์ อย่างไรก็ตาม นี่เป็นวิธีที่แนะนำ
คุณยังสามารถสร้างอาร์เรย์จำนวนมากจาก Tuple ได้
คณิตศาสตร์ Operaต่างๆ บนอาเรย์
คุณสามารถดำเนินการทางคณิตศาสตร์ เช่น การบวก ลบ หาร และคูณกับอาร์เรย์ได้ โดยใช้รูปแบบคำสั่งเป็นชื่ออาร์เรย์ตามด้วยคำสั่ง (+.-,*,/) ตามด้วยตัวดำเนินการ
ตัวอย่าง:
numpy_array_from_list + 10
Output:
array([11, 19, 18, 13])
การดำเนินการนี้จะเพิ่ม 10 ให้กับแต่ละองค์ประกอบของอาร์เรย์ numpy
รูปร่างของอาร์เรย์
คุณสามารถตรวจสอบรูปร่างของอาร์เรย์ด้วยรูปร่างของวัตถุที่นำหน้าด้วยชื่อของอาร์เรย์ ในทำนองเดียวกัน คุณสามารถตรวจสอบประเภทด้วย dtypes
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
จำนวนเต็มคือค่าที่ไม่มีทศนิยม หากคุณสร้างอาร์เรย์ที่มีทศนิยม ประเภทจะเปลี่ยนเป็นแบบทศนิยม
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
อาร์เรย์ 2 มิติ
คุณสามารถเพิ่มมิติข้อมูลด้วยเครื่องหมาย “”โคม่า
โปรดทราบว่าจะต้องอยู่ในวงเล็บ []
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
อาร์เรย์ 3 มิติ
มิติที่สูงขึ้นสามารถสร้างได้ดังนี้:
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
วัตถุประสงค์ | รหัส |
---|---|
สร้างอาร์เรย์ | อาร์เรย์ ([1,2,3]) |
พิมพ์รูปร่าง | อาร์เรย์([.]).รูปร่าง |
numpy.zeros() คืออะไร?
numpy.ศูนย์() หรือ np.zeros Python ฟังก์ชันใช้เพื่อสร้างเมทริกซ์ที่เต็มไปด้วยเลขศูนย์ numpy.zeros() ใน Python สามารถใช้เมื่อคุณเริ่มต้นน้ำหนักในระหว่างการวนซ้ำครั้งแรกใน TensorFlow และงานทางสถิติอื่นๆ
ไวยากรณ์ของฟังก์ชัน numpy.zeros()
numpy.zeros(shape, dtype=float, order='C')
Python พารามิเตอร์ numpy.zeros()
ที่นี่
- รูปร่าง: คือรูปร่างของอาร์เรย์ศูนย์จำนวน
- Dประเภท: เป็นประเภทข้อมูลในจำนวนศูนย์ มันเป็นทางเลือก ค่าเริ่มต้นคือ float64
- สั่งซื้อ: ค่าเริ่มต้นคือ C ซึ่งเป็นรูปแบบแถวที่จำเป็นสำหรับ numpy.zeros() ใน Python.
Python numpy.zeros() ตัวอย่าง
import numpy as np np.zeros((2,2))
Output:
array([[0., 0.], [0., 0.]])
ตัวอย่างของเลขศูนย์ที่มี Datatype
import numpy as np np.zeros((2,2), dtype=np.int16)
Output:
array([[0, 0], [0, 0]], dtype=int16)
numpy.ones() คืออะไร?
ฟังก์ชัน np.ones() ใช้เพื่อสร้างเมทริกซ์ที่เต็มไปด้วยเมทริกซ์ numpy.ones() ใน Python สามารถใช้เมื่อคุณเริ่มต้นน้ำหนักในระหว่างการวนซ้ำครั้งแรกใน TensorFlow และงานทางสถิติอื่นๆ
Python numpy.ones() ไวยากรณ์
numpy.ones(shape, dtype=float, order='C')
Python numpy.ones() พารามิเตอร์
ที่นี่
- รูปร่าง: คือรูปร่างของ np.ones Python แถว
- Dประเภท: เป็นประเภทข้อมูลในรูปแบบตัวเลข มันเป็นทางเลือก ค่าเริ่มต้นคือ float64
- สั่งซื้อ: ค่าเริ่มต้นคือ C ซึ่งเป็นสไตล์แถวที่จำเป็น
Python numpy.ones() อาร์เรย์ 2 มิติพร้อมตัวอย่างประเภทข้อมูล
import numpy as np np.ones((1,2,3), dtype=np.int16)
Output:
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
ฟังก์ชัน numpy.reshape() เข้ามา Python
Python NumPy ปรับรูปร่างใหม่ ฟังก์ชันนี้ใช้เพื่อจัดรูปร่างอาร์เรย์โดยไม่ต้องเปลี่ยนข้อมูล ในบางโอกาส คุณอาจต้องจัดรูปแบบข้อมูลใหม่จากกว้างไปเป็นยาว คุณสามารถใช้ฟังก์ชัน np.reshape สำหรับสิ่งนี้
ไวยากรณ์ของ np.reshape()
numpy.reshape(a, newShape, order='C')
ที่นี่
a: อาร์เรย์ที่คุณต้องการปรับรูปร่างใหม่
รูปร่างใหม่: ความปรารถนารูปแบบใหม่
สั่งซื้อ: ค่าเริ่มต้นคือ C ซึ่งเป็นสไตล์แถวที่จำเป็น
ตัวอย่างการปรับรูปร่าง NumPy
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
Output:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() ใน Python
Python NumPy แบนราบ ฟังก์ชันใช้ในการส่งคืนสำเนาของอาร์เรย์ในมิติเดียว เมื่อคุณจัดการกับโครงข่ายประสาทเทียมเช่น Convnet คุณจะต้องทำให้อาร์เรย์เรียบลง คุณสามารถใช้ฟังก์ชัน np.flatten() สำหรับสิ่งนี้
ไวยากรณ์ของ np.flatten()
numpy.flatten(order='C')
ที่นี่
สั่งซื้อ: ค่าเริ่มต้นคือ C ซึ่งเป็นสไตล์แถวที่จำเป็น
ตัวอย่างของ NumPy Flatten
e.flatten()
Output:
array([1, 2, 3, 4, 5, 6])
numpy.hstack() คืออะไร Python?
Numpy.hstack เป็นฟังก์ชันใน Python ที่ใช้ในการเรียงซ้อนลำดับของอาร์เรย์อินพุตในแนวนอนเพื่อสร้างอาร์เรย์เดี่ยว ด้วยฟังก์ชัน hstack() คุณสามารถผนวกข้อมูลในแนวนอนได้ มันเป็นฟังก์ชั่นที่สะดวกมากใน NumPy
มาศึกษา hstack กันเถอะ Python พร้อมตัวอย่าง:
ตัวอย่าง:
## Horitzontal Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Horizontal Append:', np.hstack((f, g)))
Output:
Horizontal Append: [1 2 3 4 5 6]
numpy.vstack() คืออะไร Python?
Numpy.vstack เป็นฟังก์ชันใน Python ซึ่งใช้ในการสแต็กลำดับของอาร์เรย์อินพุตในแนวตั้งเพื่อสร้างอาร์เรย์เดี่ยว ด้วยฟังก์ชัน vstack() คุณสามารถผนวกข้อมูลในแนวตั้งได้
ให้ศึกษาด้วยตัวอย่าง:
ตัวอย่าง:
## Vertical Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Vertical Append:', np.vstack((f, g)))
Output:
Vertical Append: [[1 2 3] [4 5 6]]
หลังจากศึกษา NumPy vstack และ hstack แล้ว มาเรียนรู้ตัวอย่างการสร้างตัวเลขสุ่มใน NumPy กัน
สร้างแบบสุ่ม Numbers โดยใช้ NumPy
ในการสร้างตัวเลขสุ่มสำหรับการแจกแจงแบบเกาส์เซียน ให้ใช้:
numpy.random.normal(loc, scale, size)
ที่นี่
- สถานที่: ความหมาย. ศูนย์กลางการกระจายสินค้า
- ขนาด: ส่วนเบี่ยงเบนมาตรฐาน.
- ขนาด: จำนวนการคืนสินค้า
ตัวอย่าง:
## Generate random nmber from normal distribution normal_array = np.random.normal(5, 0.5, 10) print(normal_array) [5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
หากพล็อตการกระจายจะคล้ายกับพล็อตต่อไปนี้
ฟังก์ชัน NumPy Asarray
ฟังก์ชัน asarray() ถูกใช้เมื่อคุณต้องการแปลงอินพุตเป็นอาร์เรย์ อินพุตอาจเป็นรายการ tuple ndarray ฯลฯ
ไวยากรณ์:
numpy.asarray(data, dtype=None, order=None)[source]
ที่นี่
ข้อมูล: ข้อมูลที่คุณต้องการแปลงเป็นอาร์เรย์
ประเภท: นี่คืออาร์กิวเมนต์ที่เป็นทางเลือก หากไม่ได้ระบุ ชนิดข้อมูลจะถูกอนุมานจากข้อมูลที่ป้อน
สั่งซื้อ: ค่าเริ่มต้นคือ C ซึ่งเป็นสไตล์แถวที่จำเป็น ตัวเลือกอื่นคือ F (แบบฟอร์ตัน)
ตัวอย่าง:
พิจารณาเมทริกซ์ 2 มิติต่อไปนี้ที่มี 1 แถวและ XNUMX คอลัมน์ซึ่งเติมด้วย XNUMX
import numpy as np A = np.matrix(np.ones((4,4)))
หากคุณต้องการเปลี่ยนค่าของเมทริกซ์ คุณไม่สามารถทำได้ เหตุผลก็คือ ไม่สามารถเปลี่ยนแปลงสำเนาได้
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
เมทริกซ์ไม่เปลี่ยนรูป คุณสามารถใช้ asarray ได้หากต้องการเพิ่มการแก้ไขในอาร์เรย์ดั้งเดิม มาดูกันว่าการเปลี่ยนแปลงใด ๆ เกิดขึ้นเมื่อคุณต้องการเปลี่ยนค่าของแถวที่สามด้วยค่า 2 หรือไม่
np.asarray(A)[2]=2 print(A)
คำอธิบายรหัส:
np.asarray(A): แปลงเมทริกซ์ A เป็นอาร์เรย์
[2]: เลือกแถวที่สาม
Output:
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
numpy.arange() คืออะไร?
numpy.arange() เป็นฟังก์ชันตัวเลข inbuilt ที่ส่งคืนวัตถุ ndarray ที่มีค่าระยะห่างเท่ากันภายในช่วงเวลาที่กำหนด ตัวอย่างเช่น คุณต้องการสร้างค่าตั้งแต่ 1 ถึง 10 คุณสามารถใช้ np.arange() ใน Python ฟังก์ชัน
ไวยากรณ์:
numpy.arange(start, stop, step, dtype)
Python NumPy จัดเรียงพารามิเตอร์:
- เริ่มต้น: จุดเริ่มต้นของช่วงเวลาสำหรับ np.arange ใน Python ฟังก์ชัน
- หยุด: สิ้นสุดช่วงเวลา
- ขั้นตอน: ระยะห่างระหว่างค่า ขั้นตอนเริ่มต้นคือ 1
- Dประเภท: เป็นประเภทของเอาต์พุตอาร์เรย์สำหรับ NumPy จัดเรียงเข้า Python.
ตัวอย่าง:
import numpy np np.arange(1, 11)
Output:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
ตัวอย่าง:
หากคุณต้องการเปลี่ยนขั้นตอนในฟังก์ชัน NumPy นี้ให้จัดเรียง Python ตัวอย่างเช่น คุณสามารถเพิ่มตัวเลขที่สามในวงเล็บได้ มันจะเปลี่ยนขั้นตอน
import numpy np np.arange(1, 14, 4)
Output:
array([ 1, 5, 9, 13])
ฟังก์ชัน NumPy Linspace
Linspace ให้ตัวอย่างที่มีระยะห่างเท่ากัน
ไวยากรณ์:
numpy.linspace(start, stop, num, endpoint)
ที่นี่
- เริ่มต้น: ค่าเริ่มต้นของลำดับ
- หยุด: ค่าสิ้นสุดของลำดับ
- หนุ่ม: จำนวนตัวอย่างที่จะสร้าง ค่าเริ่มต้นคือ 50
- ปลายทาง: ถ้าเป็นจริง (ค่าเริ่มต้น) หยุดคือค่าสุดท้าย หากเป็นเท็จ จะไม่รวมค่าหยุด
ตัวอย่าง:
ตัวอย่างเช่น สามารถใช้สร้างค่าได้ 10 ค่าตั้งแต่ 1 ถึง 5 โดยเว้นระยะเท่าๆ กัน
import numpy as np np.linspace(1.0, 5.0, num=10)
Output:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
หากคุณไม่ต้องการรวมหลักสุดท้ายในช่วงเวลา คุณสามารถตั้งค่าจุดสิ้นสุดเป็นเท็จได้
np.linspace(1.0, 5.0, num=5, endpoint=False)
Output:
array([1. , 1.8, 2.6, 3.4, 4.2])
ฟังก์ชัน LogSpace NumPy ใน Python
LogSpace ส่งคืนตัวเลขที่มีระยะห่างเท่ากันบนสเกลลอการิทึม Logspace มีพารามิเตอร์เดียวกันกับ np.linspace
ไวยากรณ์:
numpy.logspace(start, stop, num, endpoint)
ตัวอย่าง:
np.logspace(3.0, 4.0, num=4)
Output:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
สุดท้ายนี้ หากคุณต้องการตรวจสอบขนาดหน่วยความจำขององค์ประกอบในอาร์เรย์ คุณสามารถใช้ itemsize ได้
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
Output:
16
แต่ละองค์ประกอบใช้เวลา 16 ไบต์
การจัดทำดัชนีและการแบ่งส่วน Python
การแบ่งส่วนข้อมูลนั้นไม่สำคัญนัก เราจะเฉือนเมทริกซ์ “e” โปรดทราบว่าใน Pythonคุณต้องใช้วงเล็บเพื่อส่งคืนแถวหรือคอลัมน์
ตัวอย่าง:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
โปรดจำไว้ว่าอาร์เรย์/คอลัมน์แรกเริ่มต้นที่ 0
## First column print('First row:', e[0]) ## Second col print('Second row:', e[1])
Output:
First row: [1 2 3] Second row: [4 5 6]
In Pythonเช่นเดียวกับภาษาอื่นๆ มากมาย
- ค่าที่อยู่หน้าเครื่องหมายจุลภาคหมายถึงแถว
- ค่าบนสิทธิ์หมายถึงคอลัมน์
- หากคุณต้องการเลือกคอลัมน์ คุณต้องเพิ่ม : ก่อนดัชนีคอลัมน์
- : หมายความว่าคุณต้องการแถวทั้งหมดจากคอลัมน์ที่เลือก
print('Second column:', e[:,1])
Second column: [2 5]
เพื่อคืนค่าสองค่าแรกของแถวที่สอง คุณใช้ : เพื่อเลือกคอลัมน์ทั้งหมดจนถึงคอลัมน์ที่สอง
## Second Row, two values print(e[1, :2]) [4 5]
ฟังก์ชันทางสถิติใน Python
NumPy มีฟังก์ชันทางสถิติที่มีประโยชน์ค่อนข้างมากสำหรับการค้นหาค่าต่ำสุด ค่าสูงสุด ส่วนเบี่ยงเบนมาตรฐานเปอร์เซ็นไทล์ และความแปรปรวน ฯลฯ จากองค์ประกอบที่กำหนดในอาร์เรย์ ฟังก์ชั่นอธิบายไว้ดังนี้ −
Numpy มีฟังก์ชันทางสถิติที่มีประสิทธิภาพตามรายการด้านล่าง
ฟังก์ชัน | นัมปี้ |
---|---|
นาที | np.นาที() |
แม็กซ์ | np.สูงสุด() |
หมายความ | np.หมายถึง() |
มัธยฐาน | np.มัธยฐาน() |
ส่วนเบี่ยงเบนมาตรฐาน | np.std() |
พิจารณาอาร์เรย์ต่อไปนี้:
ตัวอย่าง:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
Output:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
ตัวอย่างฟังก์ชันทางสถิติ NumPy
### Min print(np.min(normal_array)) ### Max print(np.max(normal_array)) ### Mean print(np.mean(normal_array)) ### Median print(np.median(normal_array)) ### Sd print(np.std(normal_array))
Output:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
numpy dot product คืออะไร?
สินค้า Numpy.dot เป็นไลบรารีอันทรงพลังสำหรับการคำนวณเมทริกซ์ ตัวอย่างเช่น คุณสามารถคำนวณดอทโปรดัคด้วย np.dot ผลิตภัณฑ์ Numpy.dot คือผลิตภัณฑ์ดอทของ a และ b numpy.dot() ใน Python จัดการอาร์เรย์ 2 มิติและทำการคูณเมทริกซ์
ไวยากรณ์:
numpy.dot(x, y, out=None)
พารามิเตอร์
ที่นี่
x, y: อาร์เรย์อินพุต x และ y ทั้งคู่ควรเป็น 1-D หรือ 2-D เพื่อให้ฟังก์ชัน np.dot() ทำงานได้
ออก: นี่คืออาร์กิวเมนต์เอาต์พุตสำหรับสเกลาร์อาร์เรย์ 1 มิติที่ต้องส่งคืน มิฉะนั้น จะต้องส่งคืน ndarray
คืนสินค้า
ฟังก์ชัน numpy.dot() ใน Python ส่งคืนผลคูณจุดของอาร์เรย์ x และ y สองตัว ฟังก์ชัน dot() ส่งคืนสเกลาร์ถ้าทั้ง x และ y เป็น 1 มิติ มิฉะนั้นจะส่งคืนอาร์เรย์ หากระบุ 'out' ฟังก์ชันจะส่งคืน
ยก
สินค้าดอทอิน Python ทำให้เกิดข้อยกเว้น ValueError หากมิติสุดท้ายของ x ไม่มีขนาดเดียวกันกับมิติสุดท้ายที่สองของ y
ตัวอย่าง:
## Linear algebra ### Dot product: product of two arrays f = np.array([1,2]) g = np.array([4,5]) ### 1*4+2*5 np.dot(f, g)
Output:
14
การคูณเมทริกซ์ใน Python
ฟังก์ชัน Numpy matmul() ใช้เพื่อส่งคืนผลคูณเมทริกซ์ของ 2 อาร์เรย์ นี่คือวิธีการทำงาน
1) อาร์เรย์ 2 มิติจะส่งคืนผลิตภัณฑ์ปกติ
2) ขนาด > 2 ผลิตภัณฑ์จะถือเป็นเมทริกซ์ซ้อนกัน
3) อาร์เรย์ 1 มิติได้รับการส่งเสริมให้เป็นเมทริกซ์ก่อน จากนั้นจึงคำนวณผลคูณ
ไวยากรณ์:
numpy.matmul(x, y, out=None)
ที่นี่
x, y: อาร์เรย์อินพุต ไม่อนุญาตให้ใช้สเกลาร์
ออก: นี่เป็นพารามิเตอร์ทางเลือก โดยปกติแล้วเอาต์พุตจะถูกเก็บไว้ใน ndarray
ตัวอย่าง:
ในทำนองเดียวกัน คุณสามารถคำนวณการคูณเมทริกซ์ด้วย np.matmul
### Matmul: matruc product of two arrays h = [[1,2],[3,4]] i = [[5,6],[7,8]] ### 1*5+2*7 = 19 np.matmul(h, i)
Output:
array([[19, 22], [43, 50]])
ปัจจัย
สุดท้ายแต่ไม่ท้ายสุด หากคุณต้องการคำนวณดีเทอร์มิแนนต์ คุณสามารถใช้ np.linalg.det() โปรดทราบว่า numpy ดูแลมิติ
ตัวอย่าง:
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
Output:
-2.000000000000005
สรุป
- Python เป็นห้องสมุดโอเพ่นซอร์สที่มีอยู่ใน Pythonซึ่งช่วยในด้านคณิตศาสตร์ วิทยาศาสตร์ วิศวกรรมศาสตร์ และ การเขียนโปรแกรมวิทยาศาสตร์ข้อมูล.
- numpy.zeros() หรือ np.zeros Python ฟังก์ชันใช้เพื่อสร้างเมทริกซ์ที่เต็มไปด้วยเลขศูนย์
- numpy.ones() ใน Python สามารถใช้เมื่อคุณเริ่มต้นน้ำหนักในระหว่างการวนซ้ำครั้งแรกใน TensorFlow และงานทางสถิติอื่นๆ
- Python ฟังก์ชัน NumPy Reshape ใช้เพื่อจัดรูปร่างอาร์เรย์โดยไม่ต้องเปลี่ยนข้อมูล
- Python ฟังก์ชัน NumPy Flatten ใช้เพื่อส่งคืนสำเนาของอาร์เรย์ในมิติเดียว
- Numpy.hstack เป็นฟังก์ชันใน Python ที่ใช้ในการเรียงซ้อนลำดับของอาร์เรย์อินพุตในแนวนอนเพื่อสร้างอาร์เรย์เดี่ยว
- Numpy.vstack เป็นฟังก์ชันใน Python ซึ่งใช้ในการสแต็กลำดับของอาร์เรย์อินพุตในแนวตั้งเพื่อสร้างอาร์เรย์เดี่ยว
- numpy.arange() เป็นฟังก์ชัน numpy ในตัวที่ส่งคืนวัตถุ ndarray ที่มีค่าระยะห่างเท่ากันภายในช่วงเวลาที่กำหนด
- ผลิตภัณฑ์ Numpy.dot เป็นไลบรารีที่มีประสิทธิภาพสำหรับการคำนวณเมทริกซ์
- ฟังก์ชัน Numpy matmul() ใช้เพื่อส่งคืนผลคูณเมทริกซ์ของ 2 อาร์เรย์