NumPy বলতে 'Numerical Python'-কে বোঝায়। এটি একটি লাইব্রেরি যাতে বহুমাত্রিক অ্যারে অবজেক্ট এবং অ্যারে প্রসেসিং-র জন্য বিভিন্ন মেথড থাকে।
NumPy দিয়ে অ্যারে-র ওপর পachedার ধরনের অপারেশন করা যায়। এটি SciPy, Matplotlib-এর সাথে ব্যবহার হয়। NumPy+Matplotlib কে MatLab-এর বিকল্প হিসেবে ব্যবহার করা হয়। এটি ওপেন-সোর্স প্যাকেজ। স্ট্যান্ডার্ড পাইথন ডিস্ট্রিবিউশনে NumPy ডিফল্টভাবে থাকে না; আলাদা করে pip install numpy দিয়ে ইনস্টল করতে হয়।
NumPy-র সবচেয়ে গুরুত্বপূর্ণ অবজেক্ট হল n-মাত্রিক অ্যারে যাকে ndarray বলা হয়। এটি একই টাইপের আইটেমগুলোর সংকলন। ০-বেসড ইন্ডেক্সিং দিয়ে এক্সেস করা যায়। প্রতিটি এলিমেন্ট মেমোরিতে একই আকারের ব্লক নেয়। dtype ফাংশন দিয়ে টাইপ জানা যায়। অ্যারে স্লাইসিং দিয়ে আইটেম এক্সট্রাক্ট করা যায়।
ব্রডকাস্টিং (Broadcasting)
NumPy অ্যারে-র ক্ষেত্রে ব্রডকাস্টিং বলতে অ্যারিথমেটিক অপারেশনের সময় ভিন্ন আকারের অ্যারে-গুলোকে কীভাবে NumPy হ্যান্ডেল করে সেটি বোঝায়। দুটি অ্যারে একই শেপ না হলে কোনো এরর দেওয়া হয় না, বরং অপারেশন স্মুথলি চলতে থাকে। ছোট অ্যারেটি বড় অ্যারের শেপে অটোমেটিক্যালি ব্রডকাস্ট (ফেলা) হয়।
উদাহরণ
import numpy as np
arr_1 = np.array([4, 6, 8, 0, 3])
arr_2 = np.array([11, 3, 7, 78, 999])
print("The first ndarray is:")
print(arr_1)
print("The second ndarray is:")
print(arr_2)
arr_3 = arr_1 * arr_2
print("The resultant array is:")
print(arr_3)
আউটপুট
The first ndarray is [4 6 8 0 3] The second ndarray is [ 11 3 7 78 999] The resultant array is [ 44 18 56 0 2997]
ব্যাখ্যা
- প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করা হয়েছে।
- দুটি ndarray ডিফাইন করা হয়েছে।
- তাদের প্রিন্ট করা হয়েছে।
- তৃতীয় অ্যারে = প্রথম দুটির গুণফল।
- ফলাফল প্রিন্ট করা হয়েছে।