NumPy প্রয়োগ ফাংশন

Numpy Prayoga Phansana



পাইথন দ্বারা অফার করা অন্তর্নির্মিত লাইব্রেরি, যা NumPy নামে পরিচিত, আমাদেরকে বহুমাত্রিক অ্যারে তৈরি করতে, তাদের পরিবর্তন করতে এবং তাদের উপর বিভিন্ন গাণিতিক গণনা করতে দেয়। আবেদন ফাংশন NumPy প্যাকেজ দ্বারা উপলব্ধ করা হয়. অ্যাপ্লাই ফাংশনের জন্য সাধারণ ব্যবহারের ক্ষেত্রে দৃশ্যপটের অনুরূপ যেখানে আমরা একটি অ্যারে স্লাইস করতে চাই এবং একটি তালিকার প্রতিটি উপাদানে কিছু ক্রিয়াকলাপ সম্পাদন করতে চাই, উদাহরণস্বরূপ, যদি আমরা একটি সারির প্রতিটি আইটেমকে বর্গাকার করতে চাই। অবশ্যই, পাইথনে, আমরা জানি যে ফর-লুপগুলি ধীর তাই আমরা সম্ভব হলে সেগুলি এড়াতে চাই। আপনি যদি ডেটা ফ্রেমের প্রতিটি সারি বা কলামে একই অপারেশন করতে চান তবে 'প্রয়োগ করুন' ফাংশনটি ব্যবহার করা যেতে পারে। অন্য কথায়, ফর-লুপ না লিখে আপনি ফর-লুপ দিয়ে যা করতে চান তা করে।

শর্তের উপর নির্ভর করে অ্যারেতে যেকোনো ফাংশন প্রয়োগ করার দুটি পদ্ধতি রয়েছে। আমরা 'অক্ষের উপর প্রয়োগ করুন' ফাংশনটি প্রয়োগ করতে পারি যা কার্যকরী যখন আমরা অ্যারের প্রতিটি উপাদানের উপর একটি করে ফাংশন প্রয়োগ করি এবং এটি এন-ডাইমেনশনাল অ্যারেগুলির জন্য দরকারী। দ্বিতীয় পদ্ধতি হল 'অক্ষ বরাবর প্রয়োগ' যা এক-মাত্রিক অ্যারেতে প্রযোজ্য।

বাক্য গঠন:

পদ্ধতি 1: অক্ষ বরাবর প্রয়োগ করুন

নম্র অক্ষ_সংলগ্ন_প্রয়োগ করুন ( 1d_ফাংশন , অক্ষ , arr , *আর্গস , ** কোয়ার্গস )

সিনট্যাক্সে, আমাদের 'numpy.apply' ফাংশন আছে যেখানে আমরা পাঁচটি আর্গুমেন্ট পাস করি। প্রথম একটি আর্গুমেন্ট যা '1d_function' এক-মাত্রিক অ্যারেতে কাজ করে, যা প্রয়োজন। যদিও দ্বিতীয় আর্গুমেন্ট, 'অক্ষ', আপনি যে অক্ষের উপর অ্যারে স্লাইস করতে চান এবং সেই ফাংশনটি প্রয়োগ করতে চান। তৃতীয় প্যারামিটারটি হল 'arr' যা প্রদত্ত অ্যারে যেখানে আমরা ফাংশনটি প্রয়োগ করতে চাই। যদিও '*args' এবং '*kwargs' হল অতিরিক্ত আর্গুমেন্ট যা যোগ করার প্রয়োজন নেই।







উদাহরণ 1:

'প্রয়োগ' পদ্ধতিগুলি সম্পর্কে আরও ভাল বোঝার দিকে অগ্রসর হয়ে, আমরা প্রয়োগ পদ্ধতিগুলির কার্যকারিতা পরীক্ষা করার জন্য একটি উদাহরণ সঞ্চালন করি। এই উদাহরণে, আমরা 'apply_along_Axis' ফাংশনটি সম্পাদন করি। আসুন আমাদের প্রথম ধাপে এগিয়ে যাই। আমরা প্রথমে আমাদের NumPy লাইব্রেরিগুলিকে np হিসাবে অন্তর্ভুক্ত করি। এবং তারপর, আমরা 'arr' নামে একটি অ্যারে তৈরি করি যা পূর্ণসংখ্যার মান সহ একটি 3×3 ম্যাট্রিক্স ধারণ করে যা '8, 1, 7, 4, 3, 9, 5, 2, এবং 6'। পরের লাইনে, আমরা 'অ্যারে' নামে একটি ভেরিয়েবল তৈরি করি যা apply_along_Axis ফাংশনের ফলাফল ধরে রাখার জন্য দায়ী।



যে ফাংশন, আমরা তিনটি আর্গুমেন্ট পাস. প্রথমটি হল যে ফাংশনটি আমরা অ্যারেতে প্রয়োগ করতে চাই, আমাদের ক্ষেত্রে এটি সাজানো ফাংশন কারণ আমরা চাই আমাদের অ্যারে সাজানো হোক। তারপর, আমরা দ্বিতীয় আর্গুমেন্ট '1' পাস করি যার মানে আমরা আমাদের অ্যারেকে অক্ষ=1 বরাবর স্লাইস করতে চাই। শেষ পর্যন্ত, আমরা এই ক্ষেত্রে সাজানো যে অ্যারে পাস. কোডের শেষে, আমরা সহজভাবে উভয় অ্যারে প্রিন্ট করি - মূল অ্যারে এবং সেইসাথে প্রাপ্ত অ্যারে - যা print() স্টেটমেন্ট ব্যবহার করে প্রদর্শিত হয়।



আমদানি নম্র হিসাবে যেমন

arr = যেমন অ্যারে ( [ [ 8 , 1 , 7 ] , [ 4 , 3 , 9 ] , [ 5 , দুই , 6 ] ] )

অ্যারে = যেমন অক্ষ_সংলগ্ন_প্রয়োগ করুন ( সাজানো , 1 , arr )

ছাপা ( 'মূল অ্যারে হল:' , arr )

ছাপা ( 'বাছাই করা অ্যারে হল:' , অ্যারে )





আমরা নিম্নলিখিত আউটপুটে দেখতে পাচ্ছি, আমরা উভয় অ্যারে প্রদর্শন করেছি। প্রথমটিতে, মানগুলি এলোমেলোভাবে ম্যাট্রিক্সের প্রতিটি সারিতে স্থাপন করা হয়। কিন্তু দ্বিতীয় এক, আমরা সাজানো অ্যারে দেখতে পারেন. যেহেতু আমরা অক্ষ '1' পাস করেছি, এটি সম্পূর্ণ অ্যারে সাজায়নি তবে এটি প্রদর্শিত হিসাবে সারি অনুসারে সাজানো হয়েছে। প্রতিটি সারি সাজানো হয়। প্রদত্ত অ্যারের প্রথম সারি হল '8, 1, এবং 7'। সাজানো অ্যারেতে থাকাকালীন, প্রথম সারিটি '1, 7 এবং 8'। এই হিসাবে একই, প্রতিটি সারি সাজানো হয়.



পদ্ধতি 2: অক্ষের উপর প্রয়োগ করুন

নম্র প্রয়োগ_ওভার_অক্ষ ( ফাংশন , , অক্ষ )

প্রদত্ত সিনট্যাক্সে, আমাদের numpy.apply_over_axis ফাংশন রয়েছে যা প্রদত্ত অক্ষে ফাংশন প্রয়োগ করার জন্য দায়ী। apply_over_axis ফাংশনের ভিতরে, আমরা তিনটি আর্গুমেন্ট পাস করি। প্রথম একটি ফাংশন যে সঞ্চালিত করা হয়. দ্বিতীয় এক অ্যারে নিজেই. এবং শেষটি হল অক্ষ যার উপর আমরা ফাংশন প্রয়োগ করতে চাই।

উদাহরণ 2:

নিম্নলিখিত উদাহরণে, আমরা 'প্রয়োগ' ফাংশনের দ্বিতীয় পদ্ধতিটি সম্পাদন করি যেখানে আমরা ত্রিমাত্রিক অ্যারের যোগফল গণনা করি। একটি জিনিস মনে রাখবেন যে দুটি অ্যারের যোগফলের অর্থ এই নয় যে আমরা পুরো অ্যারেটি গণনা করি। কিছু অ্যারেতে, আমরা সারি-ভিত্তিক যোগফল গণনা করি যার অর্থ আমরা সারি যোগ করি এবং তাদের থেকে একক উপাদান বের করি।

আসুন আমাদের কোডে এগিয়ে যাই। আমরা প্রথমে NumPy প্যাকেজ আমদানি করি এবং তারপর একটি ভেরিয়েবল তৈরি করি যা ত্রিমাত্রিক অ্যারে ধারণ করে। আমাদের ক্ষেত্রে, ভেরিয়েবল হল 'arr'। পরের লাইনে, আমরা আরেকটি ভেরিয়েবল তৈরি করব যেটিতে apply_over_axis ফাংশনের ফলের অ্যারে রয়েছে। আমরা তিনটি আর্গুমেন্ট সহ “arr” ভেরিয়েবলে apply_over_Axis ফাংশন বরাদ্দ করি। প্রথম আর্গুমেন্ট হল NumPy-এর বিল্ট-ইন ফাংশন যা np.sum হল যোগফল নির্ণয় করতে। দ্বিতীয় প্যারামিটারটি নিজেই অ্যারে। তৃতীয় আর্গুমেন্ট হল অক্ষ যার উপর ফাংশন প্রয়োগ করা হয়, এই ক্ষেত্রে আমাদের আছে “[0, 2]” অক্ষ। কোডের শেষে, আমরা print() স্টেটমেন্ট ব্যবহার করে উভয় অ্যারে এক্সিকিউট করি।

আমদানি নম্র হিসাবে যেমন

arr = যেমন অ্যারে ( [ [ [ 6 , 12 , দুই ] , [ দুই , 9 , 6 ] , [ 18 , 0 , 10 ] ] ,

[ [ 12 , 7 , 14 ] , [ দুই , 17 , 18 ] , [ 0 , একুশ , 8 ] ] ] )

অ্যারে = যেমন প্রয়োগ_ওভার_অক্ষ ( যেমন যোগফল , arr , [ 0 , দুই ] )

ছাপা ( 'মূল অ্যারে হল:' , arr )

ছাপা ( 'অ্যারের যোগফল হল:' , অ্যারে )

নিচের চিত্রে দেখানো হয়েছে, আমরা apply_over_axis ফাংশন ব্যবহার করে আমাদের কিছু ত্রিমাত্রিক অ্যারে গণনা করেছি। প্রথম প্রদর্শিত অ্যারেটি হল '2, 3, 3' আকারের আসল অ্যারে এবং দ্বিতীয়টি হল সারিগুলির সমষ্টি৷ প্রথম সারির যোগফল হল “53”, দ্বিতীয়টি হল “54” এবং শেষটি হল “57”।

উপসংহার

এই নিবন্ধে, আমরা NumPy তে প্রয়োগ ফাংশনটি কীভাবে ব্যবহার করা হয় এবং কীভাবে আমরা অ্যারেতে বা অক্ষের উপরে বিভিন্ন ফাংশন প্রয়োগ করতে পারি তা অধ্যয়ন করেছি। NumPy দ্বারা প্রদত্ত 'প্রয়োগ করুন' পদ্ধতিগুলি ব্যবহার করে পছন্দসই সারি বা কলামে যেকোনো ফাংশন প্রয়োগ করা সহজ। এটি একটি কার্যকর উপায় যখন আমাদের পুরো অ্যারেতে এটি প্রয়োগ করতে হবে না। আমরা আশা করি কিভাবে আবেদনের পদ্ধতিটি ব্যবহার করতে হয় তা শিখতে আপনি এই পোস্টটি উপকারী বলে মনে করেন।