Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ออกอากาศด้วย NumPy Arrays ใน Python


เราทราบดีว่าการดำเนินการทางคณิตศาสตร์ระหว่างอาร์เรย์ต่างๆ จะเกิดขึ้นทุกเดือน หากอาร์เรย์มีขนาดเท่ากัน น่ากลัว จำเป็นต้องมีขนาดเฉพาะ แต่มีบางสถานการณ์ที่เราสามารถลบขนาดไม่เท่ากันและยังคงใช้การคำนวณทางคณิตศาสตร์กับพวกเขาโดยปรับปรุงหนึ่งในอาร์เรย์โดยการเติมอาร์เรย์ด้วย ndim ที่เล็กกว่าซึ่งต่อท้ายด้วย '1' ในรูปร่าง โดยทั่วไปการออกอากาศและอาร์เรย์หมายถึงการเปลี่ยนรูปร่างเป็นรูปร่างที่ต้องการ

กฎของอาร์เรย์ Boradcasting

  • อาร์เรย์ที่มี ndim เล็กกว่าอาร์เรย์อื่นๆ จะถูกนำหน้าด้วย '1' ในรูปร่าง

  • ขนาดในแต่ละมิติของรูปร่างผลลัพธ์คือขนาดสูงสุดของอินพุตในมิตินั้น

  • อินพุตสามารถใช้ในการคำนวณได้ หากขนาดของข้อมูลในมิติใดมิติหนึ่งตรงกับขนาดเอาต์พุตหรือค่าของมันคือ 1 เท่านั้น

  • ถ้าอินพุตมีขนาดมิติเท่ากับ 1 การป้อนข้อมูลแรกในมิตินั้นจะถูกใช้สำหรับการคำนวณทั้งหมดตามมิตินั้น

ตัวอย่าง

ตัวอย่างด้านล่างแสดงให้เห็นว่าการออกอากาศเกิดขึ้นได้อย่างไรระหว่างการจัดการอาร์เรย์โดยใช้อาร์เรย์ numpy

import numpy as np
a = np.array([[0.0,0.0,0.0],[10.0,10.0,10.0],[20.0,20.0,20.0],[30.0,30.0,30.0]])
b = np.array([1.0,2.0,3.0])

print 'First array:'
print a
print '\n'

print 'Second array:'
print b
print '\n'

print 'First Array + Second Array'
print a + b

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

First array:
[
   [ 0. 0. 0.]
   [ 10. 10. 10.]
   [ 20. 20. 20.]
   [ 30. 30. 30.]
]

Second array:
[ 1. 2. 3.]

First Array + Second Array
[
   [ 1. 2. 3.]
   [ 11. 12. 13.]
   [ 21. 22. 23.]
   [ 31. 32. 33.]
]