हम जानते हैं कि विभिन्न सरणियों के बीच अंकगणितीय संचालन मासिक होता है यदि सरणियाँ समान आकार की होती हैं तो विशिष्ट आकार की आवश्यकता होती है। लेकिन ऐसे परिदृश्य हैं जब हम असमान आकार को मिटा सकते हैं और फिर भी उन पर अंकगणितीय संक्रियाओं को लागू कर सकते हैं, एक सरणी को उसके आकार में '1' के साथ प्रीपेड छोटे ndim के साथ भरकर एक सरणी को बढ़ाकर। तो मूल रूप से प्रसारण और सरणी का अर्थ है अपने आकार को किसी भी आवश्यक आकार में बदलना।
सरणी बोराडकास्टिंग के नियम
-
दूसरे की तुलना में छोटे ndim वाले ऐरे को इसके आकार में '1' के साथ जोड़ा गया है।
-
आउटपुट आकार के प्रत्येक आयाम में आकार उस आयाम में अधिकतम इनपुट आकार होता है।
-
गणना में एक इनपुट का उपयोग किया जा सकता है, यदि किसी विशेष आयाम में इसका आकार आउटपुट आकार से मेल खाता है या इसका मान बिल्कुल 1 है।
-
यदि किसी इनपुट का आयाम आकार 1 है, तो उस आयाम में पहली डेटा प्रविष्टि का उपयोग उस आयाम के साथ सभी गणनाओं के लिए किया जाता है।
उदाहरण
नीचे दिए गए उदाहरण से पता चलता है कि संख्यात्मक सरणियों का उपयोग करके सरणी हेरफेर के दौरान प्रसारण कैसे होता है।
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.] ]