একটি তালিকা হল এক ধরণের ডেটা যাতে উপাদানগুলির একটি ক্রমানুসারে থাকে। তালিকাগুলি একটি দরকারী ডেটা টাইপ কারণ তারা আপনাকে একটি ভেরিয়েবলে একাধিক সম্পর্কিত মান সংরক্ষণ করতে দেয়। একটি তালিকা সহ, আপনি একটি পরিবর্তনশীল মধ্যে 10 জোড়া জুতার নাম সংরক্ষণ করতে পারেন; আপনি একটি ভেরিয়েবলে একটি দোকানে করা কেনাকাটার একটি তালিকা সংরক্ষণ করতে পারেন।
যদিও অন্তর্নির্মিত তালিকা ডেটা টাইপ ইতিমধ্যেই শক্তিশালী, আরও উন্নত ব্যবহারের ক্ষেত্রে আপনি এটির অভাব খুঁজে পেতে পারেন। সেখানেই NumPy-এর অ্যারে ডেটা টাইপ আসে। NumPy লাইব্রেরিটি সহজে একাধিক মাত্রার অ্যারে তৈরি করতে ব্যবহার করা যেতে পারে।
এই গাইডে, আমরা NumPy অ্যারেগুলি কী, কেন সেগুলি দরকারী এবং আপনি কীভাবে আপনার কোডে তাদের সাথে কাজ করতে পারেন সে সম্পর্কে কথা বলতে যাচ্ছি। চলুন শুরু করা যাক!
NumPy অ্যারে কি?
একটি NumPy অ্যারে হল NumPy পাইথন লাইব্রেরির মধ্যে ব্যবহৃত অ্যারে অবজেক্ট। NumPy, যার অর্থ সংখ্যাসূচক পাইথন, একটি প্যাকেজ যা প্রায়শই বৈজ্ঞানিক এবং গাণিতিক কম্পিউটিং-এর জন্য ব্যবহৃত হয়। এটির সাথে অনেকগুলি সরঞ্জাম রয়েছে যা ডেটা বিশ্লেষণ এবং উন্নত গণিতের সাথে সহায়তা করতে পারে।
ভ্যানিলা পাইথনে (কোন বাহ্যিক প্যাকেজ ছাড়াই পাইথন), অ্যারেগুলি শক্তিশালী তবে সেগুলি প্রক্রিয়া করতে ধীর হতে পারে। অন্যদিকে, NumPy অ্যারেগুলি একটি প্রথাগত পাইথন অ্যারের চেয়ে দ্রুত মাত্রার অর্ডার হওয়া লক্ষ্য করে।
এই কর্মক্ষমতা বুস্ট করা হয়েছে কারণ NumPy অ্যারে মেমরির একটি অবিচ্ছিন্ন জায়গায় মান সঞ্চয় করে। এটি পাইথনের জন্য একটি তালিকা অ্যাক্সেস এবং ম্যানিপুলেট করা সহজ করে তোলে।
কীভাবে একটি NumPy অ্যারে ঘোষণা করবেন
শুরু করতে, আসুন একটি NumPy অ্যারে সেট আপ করি। এই টিউটোরিয়ালের জন্য, আমরা আমাদের অ্যারেতে স্ট্রিং মান সংরক্ষণ করতে যাচ্ছি। এই স্ট্রিং মানগুলি স্থানীয় কফি শপে দেওয়া মিষ্টি খাবারের একটি তালিকা। আমরা NumPy লাইব্রেরি আমদানি করে শুরু করব:
numpy np হিসাবে আমদানি করুন
কোডের এই লাইনটি numpy
আমদানি করে পাইথন থেকে এবং লাইব্রেরির নাম np
বরাদ্দ করে . এর মানে হল যে যখনই আমাদের অ্যারের সাথে কাজ করতে হবে আমাদের শুধুমাত্র np
কল করতে হবে .
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
এর পরে, আমরা অ্যারে ইন্টারফেস ব্যবহার করে আমাদের অ্যারে ঘোষণা করতে যাচ্ছি:
treats =np.array(["ব্লুবেরি মাফিন", "দারুচিনি বান", "জ্যামি শর্টব্রেড"])প্রিন্ট(ট্রিটস)
আমাদের অ্যারে চারটি স্ট্রিং মান রয়েছে। একটি ঐতিহ্যগত পাইথন অ্যারের মতো, আমরা আমাদের তালিকার সমস্ত আইটেম বর্গাকার বন্ধনীতে আবদ্ধ করেছি। একটি NumPy অ্যারে ঘোষণা করতে, আমরা অ্যারে পদ্ধতি ব্যবহার করেছি যা np
এর অংশ . এটি একটি ndarray
তৈরি করে অবজেক্ট, যা বিল্ট-ইন NumPy অ্যারে টাইপ।
আমাদের কোড আমাদের আসল অ্যারের একটি অনুলিপি প্রদান করে, একটি NumPy অ্যারে হিসাবে সাজানো:
['ব্লুবেরি মাফিন' 'দারুচিনি বান' 'জ্যামি শর্টব্রেড']
এটাই হল:আমাদের কাছে এখন একটি অ্যারে আছে যার সাথে আমরা কাজ করতে পারি।
NumPy অ্যারে:মাত্রা
আমরা যখন NumPy-এ মাত্রা সম্পর্কে কথা বলি, তখন আমরা নতুন জগতকে বোঝাতে চাই না যেমন আপনি সিনেমায় দেখতে পাবেন। একটি অ্যারের একটি মাত্রা হল সেই অ্যারের মধ্যে গভীরতার এক স্তর। যখন মাত্রা শব্দটি ব্যবহার করা হয়, তখন এটি নেস্টেড অ্যারে বোঝায়। এই অ্যারে যে অ্যারে ধারণ করে.
একটি অ্যারের যেকোনো সংখ্যক মাত্রা থাকতে পারে। আপনি যে অ্যারেগুলির সাথে কাজ করবেন তার বেশিরভাগই 1-D, 2-D বা 3-D অ্যারে হবে৷ "D" মানে মাত্রা।
NumPy 1-D অ্যারে
আমাদের প্রথম উদাহরণে, আমরা একটি 1-D অ্যারে তৈরি করেছি। এটি একটি অ্যারে যা 0-D অ্যারে (বা আইটেম) এর উপাদান হিসাবে ধারণ করে। আপনি যে অ্যারেগুলির সাথে কাজ করবেন তার বেশিরভাগই 1-D হবে।
আসুন একটি অ্যারে তৈরি করি যা কফি শপে ট্রিটসের দাম সংরক্ষণ করে:
npprices =np.array([1.95, 2.00, 2.05])প্রিন্ট(দাম) হিসাবে numpy আমদানি করুন
আমাদের কোড আমাদের মান সংরক্ষণ করে একটি মাত্রায় একটি অ্যারে প্রদান করে:[1.95 2. 2.05]।
একটি 1-ডি অ্যারে থেকে একটি উপাদান অ্যাক্সেস করতে, আপনি পাইথন তালিকার মতো একই সিনট্যাক্স ব্যবহার করতে পারেন। আমাদের তালিকার দ্বিতীয় আইটেমটি পুনরুদ্ধার করা যাক:
প্রিন্ট(দাম[1])
আমাদের কোড সূচক মান 1 সহ আইটেমটি ফেরত দেয়, যা হল:2।
পাইথন অ্যারে সম্পর্কে আরও জানতে, পাইথন অ্যারে সম্পর্কে আমাদের প্রাথমিক নির্দেশিকা পড়ুন।
NumPy 2-D অ্যারে
সব অ্যারে 1-D নয়। ধরুন আমরা একটি অ্যারে সঞ্চয় করতে চেয়েছিলাম যেখানে দুটি অ্যারে রয়েছে। এক অ্যারে কফি শপে বিক্রি করা মিষ্টি খাবার সঞ্চয় করে; অন্য অ্যারে দোকানে বিক্রি করা কফির একটি তালিকা রাখে। একসাথে, এগুলি একটি menu items
এর অংশ অ্যারে
NumPy ব্যবহার করে এই অ্যারে তৈরি করা যাক:
npmenu_items =np.array([ [["ব্লুবেরি মাফিন", "দারুচিনি বান", "জ্যামি শর্টব্রেড"], ["ক্যাপুচিনো", "এসপ্রেসো", "মোচা"]])প্রিন্ট(মেনু_আইটেম) হিসেবে numpy আমদানি করুন /প্রে>ফলস্বরূপ অ্যারে হল:
[['ব্লুবেরি মাফিন' 'দারুচিনি বান' 'জ্যামি শর্টব্রেড'] ['ক্যাপুচিনো' 'এসপ্রেসো' 'মোচা']]আমাদের সদ্য তৈরি অ্যারের দুটি মাত্রা রয়েছে। আমাদের অ্যারের মধ্যে প্রথম অ্যারেতে মিষ্টি খাবারের একটি তালিকা রয়েছে; দ্বিতীয় অ্যারে কফি একটি তালিকা রয়েছে. লক্ষ্য করুন যে এই দুটি অ্যারেই এক জোড়া বর্গাকার বন্ধনীর মধ্যে আবদ্ধ যা দুটি অ্যারেকে সংযুক্ত করে।
একটি 2-ডি অ্যারে থেকে আইটেমগুলি পুনরুদ্ধার করা Python এর তুলনায় NumPy তে কিছুটা আলাদাভাবে কাজ করে। একটি 2-ডি অ্যারে থেকে উপাদানগুলি অ্যাক্সেস করতে, আপনাকে অ্যারে থেকে যে মানটি পুনরুদ্ধার করতে চান তার সূচক নম্বরগুলিকে আলাদা করতে হবে।
এই কোডটি বিবেচনা করুন:
প্রিন্ট(মেনু_আইটেম[0, 2])আমাদের কোড ফিরে আসে:জ্যামি শর্টব্রেড। আমরা সূচক মান 2 সহ আইটেমটি পুনরুদ্ধার করেছি যা সূচক মান 0 সহ অ্যারের ভিতরে সংরক্ষিত রয়েছে। এই ক্ষেত্রে, আমরা অ্যারের শেষ আইটেমটি পুনরুদ্ধার করেছি যা কফি শপে বিক্রি হওয়া মিষ্টি খাবারগুলি সঞ্চয় করে।পি>
NumPy 3-D অ্যারে
এর অন্য মাত্রা যোগ করা যাক! NumPy অ্যারেতে 3-D অ্যারে থাকতে পারে। এটি একটি অ্যারে যা 2-D অ্যারে ধারণ করে।
ধরুন আমরা নিম্নলিখিত মানগুলি সংরক্ষণ করতে চাই:
- মিষ্টি এবং অ-মিষ্টি খাবারের অফার (জোড়া, কিন্তু আলাদা অ্যারেতে); এবং
- ক্যাফিনেটেড এবং নন-ক্যাফেইনযুক্ত পানীয় (জোড়া, আলাদা অ্যারেতে);
এই সমস্ত মান একটি অ্যারের মধ্যে সংরক্ষণ করা উচিত। এই অ্যারের মাত্রা হল:
- 1-D:সমস্ত মেনু আইটেম
- 2-D:মিষ্টি এবং অ-মিষ্টি খাবার, ক্যাফেইনযুক্ত এবং নন-ক্যাফিনযুক্ত পানীয়
- 3-D:মিষ্টি খাবার, অ-মিষ্টি খাবার, ক্যাফেইনযুক্ত, নন-ক্যাফিনযুক্ত পানীয়
NumPy ব্যবহার করে এই অ্যারে তৈরি করা যাক। একটি পাইথন ফাইলে নিম্নলিখিত কোড পেস্ট করুন:
npmenu_items =np.array([ [ [ ["ব্লুবেরি মাফিন", "দারুচিনি বান", "জ্যামি শর্টব্রেড"], ["স্মোকড বেকন রোল", "টুনা মেল্ট পানিনি", "চিজ এবং টমেটো টোস্টি" হিসাবে numpy আমদানি করুন ] ], [ ["ক্যাপুচিনো", "এসপ্রেসো", "মোচা"], ["আপেল জুস", "ওয়াটার", "কমলার রস"] ]])প্রিন্ট(মেনু_আইটেম)
আমাদের কোড ফিরে আসে:
[[['ব্লুবেরি মাফিন' 'দারুচিনি বান' 'জ্যামি শর্টব্রেড'] ['স্মোকড বেকন রোল' 'টুনা মেল্ট পানিনি' 'চিজ অ্যান্ড টমেটো টোস্টি']] [['ক্যাপুচিনো' 'এসপ্রেসো' 'মোচা'] ['অ্যাপেল জুস' 'ওয়াটার' 'অরেঞ্জ জুস']]]
আমরা আগে আলোচনা করা সমস্ত তথ্য দিয়ে একটি 3-ডি অ্যারে তৈরি করেছি। এই অ্যারেটি কফি শপ দ্বারা অফার করা সমস্ত মেনু আইটেমের একটি বিস্তৃত তালিকা।
একটি 3-ডি অ্যারে থেকে আইটেমগুলি অ্যাক্সেস করা সিনট্যাক্সের মতোই কাজ করে যা আপনি 2-ডি অ্যারে থেকে আইটেমগুলি অ্যাক্সেস করতে ব্যবহার করেন। পার্থক্য হল একটি 3-ডি অ্যারে থেকে একটি আইটেম পুনরুদ্ধার করতে আপনাকে একটি তৃতীয় সূচক নম্বর নির্দিষ্ট করতে হবে। আসুন আমাদের অ্যারে থেকে "মোচা" পুনরুদ্ধার করি:
প্রিন্ট(মেনু_আইটেম[1, 0, 2])
আমাদের কোড রিটার্ন করে:মোচা।
1 হল 1ম মাত্রার সূচক নম্বর যা আমরা অ্যাক্সেস করতে চাই (1 আমাদের পানীয়ের সাথে মিলে যায়); 0 হল 2য় মাত্রার সূচক সংখ্যা (0 ক্যাফেইনযুক্ত পানীয়ের সাথে মিলে যায়); 2 হল 3য় মাত্রার সূচক সংখ্যা (2টি মোচা এর সাথে মিলে যায়)।
একটি অ্যারেতে মাত্রা গণনা করুন
আপনি যখন নতুন মাত্রা যোগ করা শুরু করেন তখন NumPy অ্যারেগুলি বেশ জটিল দেখাতে শুরু করতে পারে। আমরা এমনকি তিন মাত্রার বেশি অ্যারে অন্বেষণ করিনি! সৌভাগ্যক্রমে আপনার জন্য, একটি সহজ শর্টকাট রয়েছে যা আপনি একটি অ্যারের কতটি মাত্রা গণনা করতে ব্যবহার করতে পারেন৷
একটি পাইথন ফাইলে নিম্নলিখিত কোড পেস্ট করুন:
npmenu_items =np.array হিসাবে numpy আমদানি করুন )
আমাদের কোড রান করা যাক. মান "2" ফেরত দেওয়া হয়। এটি আমাদের বলে যে আমাদের অ্যারেতে দুটি মাত্রা রয়েছে, যা আমরা আমাদের উপরের অ্যারে বিশ্লেষণ করে দেখতে পারি।
উপসংহার
NumPy অ্যারে অনুরূপ মান সংরক্ষণের একটি নমনীয় উপায়। তারা প্রচলিত পাইথন অ্যারেগুলির চেয়ে দ্রুত এবং আরও দক্ষ। আপনি সহজে NumPy অ্যারে ব্যবহার করে একাধিক মাত্রার সাথে কাজ করতে পারেন; ভ্যানিলা পাইথনে এটি করা আরও কঠিন।
এখন আপনি একজন বিশেষজ্ঞ প্রোগ্রামারের মতো NumPy অ্যারে ব্যবহার শুরু করতে প্রস্তুত!