हम जानते हैं कि विभिन्न सरणियों के बीच अंकगणितीय संक्रियाएँ तभी होती हैं जब सरणियाँ समान आकार की हों या विशिष्ट आकार की आवश्यकता हो। लेकिन ऐसे परिदृश्य होते हैं जब हम असमान आकार की सरणियाँ ले सकते हैं और फिर भी उन पर अंकगणितीय संक्रियाएँ लागू कर सकते हैं, छोटी ndim वाली सरणी के आकार में '1' जोड़कर। मूल रूप से एक सरणी को ब्रॉडकास्ट करने का अर्थ है उसके आकार को किसी भी आवश्यक आकार में बदलना।
सरणी ब्रॉडकास्टिंग के नियम
दूसरे की तुलना में छोटी 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('पहली सरणी:') print(a) print('\n') print('दूसरी सरणी:') print(b) print('\n') print('पहली सरणी + दूसरी सरणी') print(a + b)आउटपुट
उपरोक्त कोड चलाने पर निम्नलिखित परिणाम मिलता है -
पहली सरणी: [ [ 0. 0. 0.] [ 10. 10. 10.] [ 20. 20. 20.] [ 30. 30. 30.] ] दूसरी सरणी: [ 1. 2. 3.] पहली सरणी + दूसरी सरणी [ [ 1. 2. 3.] [ 11. 12. 13.] [ 21. 22. 23.] [ 31. 32. 33.] ]