NumPy বলতে Numerical Python। এটি একটি লাইব্রেরি যেটিতে মাল্টিডাইমেনশনাল অ্যারে অবজেক্ট এবং অ্যারে প্রসেসিং-এ সাহায্যকারী একাধিক মেথড থাকে। NumPy ব্যবহার করে অ্যারেতে ব্যাপক অপারেশন করা যায়। এটি SciPy, Matplotlib-এর মতো প্যাকেজের সাথে ব্যবহার করা হয়। NumPy + Matplotlib কে MatLab-এর বিকল্প হিসেবে বিবেচনা করা হয়। এটি ওপেন সোর্স প্যাকেজ, তাই কেউই ব্যবহার করতে পারে।
NumPy প্যাকেজের সবচেয়ে গুরুত্বপূর্ণ অবজেক্ট হলো n-ডাইমেনশনাল অ্যারে যাকে ndarray বলা হয়। এটি একই টাইপের আইটেমের সংগ্রহ সংজ্ঞায়িত করে। ndarray-র ভ্যালুগুলো ইনডেক্সিং (০-বেজড ইনডেক্স) দিয়ে এক্সেস করা যায়। ndarray-র প্রতিটি আইটেম মেমরি স্পেসে একই সাইজের ব্লক ঘেড়ে। ndarray-র প্রতিটি এলিমেন্টের টাইপ dtype ফাংশন দিয়ে জানা যায়।
ndarray-র একটি আইটেম অ্যারে স্লাইসিং দিয়ে এক্সট্র্যাক্ট করা যায়। এটি অ্যারে স্কেলার টাইপের অবজেক্ট হিসেবে রিপ্রেজেন্ট করা হয়। NumPy-তে বহুতে সোর্টিং ফাংশন আছে। এগুলো ভিন্ন ভিন্ন পদ্ধতিতে বাস্তবায়ন করা যায়, এবং প্রতিটি ফাংশন এক্সিকিউশন স্পিড, ওৰ্স্ট কেস পারফরম্যান্স, মেমরি প্রয়োজন ইত্যাদির ভিত্তিতে ভিন্ন।
NumPy-র sort ফাংশন ইনপুট হিসেবে দেওয়া অ্যারের একটি সোর্টেড কপি রিটার্ন করে।
numpy.sort(arr, axis, kind, order)
এখানে arr হলো সর্ট করা অ্যারে। axis হলো সেই অক্ষ যার দিয়ে অ্যারে সর্ট করা হবে। kind হলো সর্টিং টাইপ, ডিফল্ট ভ্যালু quicksort। যদি অ্যারেতে অন্যান্য ফিল্ড থাকে, তবে order সেসব ফিল্ডকে বোঝায় যেগুলো সর্ট করা হবে।
NumPy অ্যারেতে sort() প্রয়োগ করার উদাহরণ নিচে দেওয়া হলো:
উদাহরণ
import numpy as np
my_arr = np.array([[3, 56], [19, 100]])
print("মূল অ্যারে:")
print(my_arr)
print("sort() ফাংশন কল:")
print(np.sort(my_arr))
print("অক্ষ ০ অনুযায়ী সর্টিং অ্যারে:")
print(np.sort(my_arr, axis=0))
dt = np.dtype([('Name', 'S6'), ('Age', int)])
my_arr = np.array([("Will", 20), ("Jack", 19), ("Bob", 23)], dtype=dt)
print("মূল অ্যারে:")
print(my_arr)
print("নাম অনুযায়ী সর্ট করা অ্যারে:")
print(np.sort(my_arr, order='Name'))আউটপুট
মূল অ্যারে: [[ 3 56] [19 100]] sort() ফাংশন কল: [[ 3 56] [19 100]] অক্ষ ০ অনুযায়ী সর্টিং অ্যারে: [[ 3 56] [19 100]] মূল অ্যারে: [(b'Will', 20) (b'Jack', 19) (b'Bob', 23)] নাম অনুযায়ী সর্ট করা অ্যারে: [(b'Bob', 23) (b'Jack', 19) (b'Will', 20)]
ব্যাখ্যা
- প্রয়োজনীয় লাইব্রেরি এনভায়রনমেন্টে ইম্পোর্ট করা হয়েছে।
- ndarray তৈরি করা হয়েছে এবং
sortফাংশন দিয়ে সর্ট করা হয়েছে। - আউটপুট প্রদর্শন করা হয়েছে।
- আবার অক্ষ ০ অনুযায়ী সর্ট করে আউটপুট কনসোলে দেখানো হয়েছে।
- নাম ও বয়স ধারণকারী একটি অ্যারে তৈরি করা হয়েছে এবং অক্ষ ০ অনুযায়ী সর্ট করা হয়েছে।
- আউটপুট কনসোলে দেখানো হয়েছে।