Numpy (নাম্পাই)
Numpy বা Numerical python মূলত সাইন্টিফিক ক্যালকুলেশন এর জন্য খুব বেশি কার্যকর এবং খুব ই ফাষ্টার।
নাম্পাই সাইন্টিফিক ক্যালকুলেশন এর জন্য একটা কোর লাইব্রেরি। এটা মূলত এন-ডাইমেনশনাল অ্যারে প্রসেসিং প্যেকেজ।
মাল্টিডাইমেনশনাল অ্যারে নিয়ে এখানে কাজ করা হয়। মাল্টিডাইমেনশনাল অ্যারে নিয়ে অনেক কাজ করতে হবে। তবে আমরা এখানে 1D ও 2D অ্যারে নিয়ে কাজ করব।
যারা পূর্বে ম্যাটলেব নিয়ে কাজ করছেন তাদের জন্য নাম্পাই এর কাজ গুলা খুব ই সহজ হবে। ম্যাটলেব না জানলে যে কঠিন হবে তা না, ম্যাটলেব করলে আপনি এই সম্পর্কে আগে থেকে অবগত এইটুক।
পাইথনে ব্যাসিক পড়লে আমরা অ্যারে সম্পর্কে ও জানার কথা। তাদের মধ্যে লিষ্ট অন্যতম। তাহলে আমরা লিষ্ট বাদ দিয়ে নাম্পাই নিয়ে কেন কাজ করতেছি ? ? সেটা বুঝার জন্য সহজ একটা উদাহরন দি।
প্রথমে আমরা ২ টা লিষ্ট তৈরি করি।
a=[1,2,3]
b=[4,5,6]
c=a+b
print(c)
[1, 2, 3, 4, 5, 6]
কি মনে হচ্ছে ?? আমরা ভাবছিলাম আমাদের ২টা লিষ্ট যোগ করে দেখাবে। কিন্তু এখানে যোগ ঠিক ই করা হয়ছে তবে ২ টা লিষ্ট একটা হয়ে লিষ্ট এর আকার বেড়ে গেছে। আমরা চাচ্ছিলাম আউটপুট টা এভাবে আসুক
[5, 7, 9]
কিন্তু সেটা হয় নাই।
এটা করা যাবে না তা কিন্তু না। একটু ঘুরায়ে করতে হবে।
a=[1,2,3]
b=[4,5,6]
result=[]
for i,j in zip(a,b):
result.append(i+j)
print(result)
[5, 7, 9]
Zip এটা না বুঝলেও সমস্যা নাই। আমরা শুধু আউটপুট টা আমাদের চাহিদামত হয় কিনা সেটা দেখব। আউটপুট কিন্তু ঠিক ই আসছে। কিন্তু যখন অ্যারের ডাইমেনশন বেড়ে যাবে তখন কোডের কমপ্লেক্সিটি বেড়ে যাবে।
যার কারণে মূলত আমরা নাম্পাই কে ব্যাবহার করব। এছাড়া নাম্পাই অনেক পাওয়ারফুল একটা লাইব্রেরি। বাকিগুলা আমরা করতে করতে শিখব।