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]

หากพล็อตการกระจายจะคล้ายกับพล็อตต่อไปนี้

ตัวอย่างการสร้างแบบสุ่ม Numbers โดยใช้ NumPy
ตัวอย่างการสร้างแบบสุ่ม Numbers โดยใช้ NumPy

ฟังก์ชัน 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 อาร์เรย์