কম্পিউটার টিউটোরিয়াল

পাইথনে NumPy অ্যারে ব্রডকাস্টিং (Broadcasting)

আমরা জানি, সমান আকারের অ্যারেগুলোর মধ্যে গাণিতিক অপারেশন হয়। কিন্তু অসমান আকারের অ্যারেগুলোর ওপরেও গাণিতিক অপারেশন করা যায় ব্রডকাস্টিং (broadcasting) ব্যবহার করে। ব্রডকাস্টিং মানে হলো একটি অ্যারের আকার (shape) পরিবর্তন করে অন্য অ্যারের সাথে সামঞ্জস্য করা, যেখানে ছোট অ্যারের ndim বড় অ্যারের সাথে মিলাতে এর shape-এ '1' প্রিপেন্ড (prepend) করা হয়।

অ্যারে ব্রডকাস্টিংয়ের নিয়মাবলী
  • অন্য অ্যারেতে চেয়ে ছোট ndim-বালা অ্যারের shape-এ '1' প্রিপেন্ড করা হয়।

  • আউটপুট shape-এর প্রতিটি ডাইমেনশনের সাইজ হলো ইনপুট ডাইমেনশনগুলোর সর্বাধিক সাইজ।

  • একটি ইনপুট ক্যালকুলেশনে ব্যবহার হতে পারে যদি এর সাইজ আউটপুট সাইজের সাথে মিলে বা এর মান ঠিক ১ হয়।

  • যদি ইনপুটের কোনো ডাইমেনশনের সাইজ ১ হয়, তবে সেই ডাইমেনশনের প্রথম ডেটা এন্ট্রি সকল ক্যালকুলেশনের জন্য ব্যবহৃত হয়।

উদাহরণ

নিচের উদাহরণে দেখানো হয়েছে কিভাবে 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.]]
  1. পাইথনে অ্যারে রোটেট (Rotate Array)

  2. পাইথনে নামপাই অ্যারে এর ডেটা টাইপ পরিবর্তন

  3. পাইথনে Array - নামেরিক ভ্যালুর ইফিশিয়েন্ট অ্যারে

  4. ব্যাশ অ্যারে ব্যাখ্যা: সৃষ্টি, ম্যানিপুলেশন এবং সাধারণ অপারেশন