পান্ডাস কেস যখন

Pandasa Kesa Yakhana



যখন একটি শর্ত সন্তুষ্ট হয় বা পূরণ হয়, তখন পান্ডাস ভাষায় একটি কেস স্টেটমেন্ট একটি আউটপুট প্রদান করে বা একটি মান প্রদান করে। একটি কেস স্টেটমেন্ট একটি ভেরিয়েবলের মানকে সম্ভাব্য মানের একটি পরিসরের সাথে তুলনা করা সম্ভব করে তোলে। কেস স্টেটমেন্টে যখন মানগুলির সেট উল্লেখ করা হয় বা পাস করা হয়, সেটের ভিতরের প্রতিটি মান স্টেটমেন্টের ভিতরের কেস বা শর্তগুলি দ্বারা চেক করা হয়। আমরা একই অপারেশন করতে if-else স্টেটমেন্ট ব্যবহার করতে পারি। যদি একটি নির্দিষ্ট শর্ত সত্য হয়, if-else বিবৃতিটি স্ক্রিপ্টের একটি অংশকে কার্যকর করতে দেয়। if-else বিবৃতিতে শর্তটি সত্য হলে এটি সম্পাদন করতে এবং যদি এটি না হয় তবে তা করতে বলে। এই টিউটোরিয়ালে, আমরা কেস স্টেটমেন্ট এবং if-else স্টেটমেন্ট ব্যবহার করে বিভিন্ন অপারেশন করব।

পান্ডাস কেস স্টেটমেন্ট কিভাবে ব্যবহার করবেন?

কেস বিবৃতি বিভিন্ন উপায়ে তৈরি করা যেতে পারে। NumPy where() ফাংশন, যা নিম্নলিখিত মৌলিক সিনট্যাক্স নিয়োগ করে, একটি পান্ডাস ডেটাফ্রেমে একটি কেস স্টেটমেন্ট তৈরি করার সবচেয়ে সহজ উপায়:

df [ 'কলামের নাম' ] = np.where ( অবস্থা 1 , 'মান 1',
np.where ( অবস্থা দুই , 'মান 2',
np.where ( অবস্থা 3 , 'value3', 'value4' ) ) )







উপরের বিবৃতিটি মানের জন্য প্রতিটি শর্ত পরীক্ষা করবে এবং শর্তটি সন্তুষ্ট হলে, আউটপুট তৈরি করবে বা শর্তের বিপরীতে মান প্রদান করবে।



উদাহরণ # 1: যেখানে() ফাংশন ব্যবহার করে পান্ডাস কেস স্টেটমেন্ট

আসুন প্রথমে একটি ডেটা ফ্রেম তৈরি করি যাতে আমরা আমাদের কেস স্টেটমেন্ট ব্যবহার করতে পারি। ডেটা ফ্রেম তৈরি করতে, আমরা প্রথমে নম্পি এবং পান্ডাস মডিউলগুলি আমদানি করব যাতে আমরা তাদের কার্যকারিতাগুলি ব্যবহার করতে পারি। আমাদের ডেটা ফ্রেম তৈরি করতে pd.Dataframe() ব্যবহার করা হবে।







আমরা 'df' ডেটা ফ্রেম তৈরি করেছি। একটি পাইথন অভিধান pd.DataFrame() ফাংশনের ভিতরে কী এবং মান সহ একটি আর্গুমেন্ট হিসাবে পাস করা হয়। আমরা আমাদের ডেটা ফ্রেম দেখতে print() ফাংশন ব্যবহার করব।



'df' ডেটা ফ্রেমে আমাদের দুটি কলাম আছে 'নাম' এবং 'চিহ্ন' যার মান রয়েছে ['রন', 'টিম', 'আন্না', 'জ্যাক', 'রব', 'লুসি'] এবং [৪, ৬ যথাক্রমে, 8, 6, 9,10]। ধরুন সেই নামটি হল ছাত্রদের নাম সংরক্ষণ করা কলাম এবং কলাম ‘মার্কস’ সাম্প্রতিক কিছু পরীক্ষার স্কোর সংরক্ষণ করে। এখন, আমরা একটি কেস স্টেটমেন্ট লিখব যা 'remarks' নামে একটি নতুন কলাম যুক্ত করবে যার মান প্রতিটি শর্তের জন্য আমাদের দ্বারা নির্দিষ্ট করা মানগুলির উপর ভিত্তি করে।

'numpy.where()' পদ্ধতিটি একটি ইনপুট অ্যারে, কলাম বা তালিকা থেকে উপাদান সূচক প্রদান করে যা নির্দিষ্ট শর্ত পূরণ করে। উপরের সুইচের ক্ষেত্রে, np.where() ফাংশন 'চিহ্ন' কলামের প্রতিটি উপাদান পরীক্ষা করে। যদি মানটি 5 এর সমান বা কম হয় তবে এটি আউটপুট হিসাবে 'ফেল' প্রদান করবে। যদি মানটি 7 এর কম বা সমান হয় তবে এটি সন্তোষজনক হবে এবং যদি মান 9 এর কম বা সমান হয় তবে এটি 'দারুণ' ফেরত দেবে যদি কোনোটি না থাকে তবে ফলাফলটি চমৎকার হবে।

যেমনটি লক্ষ্য করা যায়, নতুন কলাম 'মন্তব্য' তৈরি করা হয়েছে আমাদের 'df' ডেটা ফ্রেমে, উপরের কেস স্টেটমেন্ট দ্বারা প্রত্যাবর্তিত মানগুলি সংরক্ষণ করে।

উদাহরণ # 2:

একটি ভিন্ন ডেটা ফ্রেম দিয়ে উপরের কেস স্টেটমেন্টটি আবার চেষ্টা করুন। ধরুন, আগের ফুটবল টুর্নামেন্টে আমাদের খেলোয়াড়দের তাদের মোট গোলের ভিত্তিতে গ্রেড করতে হবে। তাই ফুটবল খেলোয়াড়ের রেকর্ড সংরক্ষণ করার জন্য একটি ডেটা ফ্রেম তৈরি করা যাক।

আমরা আমাদের ডেটা ফ্রেম তৈরি করতে pd.DataFrame() ফাংশনের ভিতরে 'নাম' এবং 'লক্ষ্য' কী সহ একটি অভিধান পাস করেছি। আমাদের ডেটা ফ্রেম প্রিন্ট করতে, আমরা প্রিন্ট ফাংশন ব্যবহার করব।

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

উপরের কেসটি where() ফাংশন ব্যবহার করে তৈরি করা হয়েছে। কেসের ভিতরে, স্টেটমেন্ট ফাংশন শর্তের বিপরীতে 'মার্কস' কলামের প্রতিটি উপাদান পরীক্ষা করছে। যদি কলামের 'লক্ষ্য' এর মান 5 এর সমান বা কম হয় তবে এটি 'C' প্রদান করবে। যদি কলামের 'লক্ষ্য' এর মান 9 এর সমান বা তার কম হয় তবে এটি 'B' প্রদান করবে। কলাম 'লক্ষ্য'-এর মান 10-এর সমান বা তার বেশি হলে এটি একটি 'A' প্রদান করবে। বিবৃতি দ্বারা প্রত্যাবর্তিত মানগুলি নতুন কলাম 'রেটিং'-এ সংরক্ষণ করা হবে। ফলাফল দেখতে 'df' প্রিন্ট করা যাক।

নতুন কলাম 'রেটিং' সফলভাবে উপরের স্ক্রিপ্ট ব্যবহার করে তৈরি করা হয়েছে।

উদাহরণ # 3: Pandas if-else স্টেটমেন্ট প্রয়োগ করে () ফাংশন

ডেটা ফ্রেমের সারি বা কলাম অক্ষ একটি ফাংশন বাস্তবায়নের জন্য apply() পদ্ধতি দ্বারা ব্যবহৃত হয়। আমরা আমাদের নিজস্ব সংজ্ঞায়িত ফাংশন তৈরি করতে পারি এবং পান্ডায় আমাদের ডেটা ফ্রেমে এটি ব্যবহার করতে পারি। এটা যদি-অন্যথায় শর্তাবলী গঠিত হবে. আসুন প্রথমে আমাদের ডেটা ফ্রেম তৈরি করি, তারপরে আমরা একটি ফাংশন তৈরি করব যেখানে আমরা ফলাফল তৈরি করতে if-else স্টেটমেন্ট ব্যবহার করব। আমাদের ডেটা ফ্রেম তৈরি করতে, আমরা প্রথমে পান্ডাদের মডিউল আমদানি করব, তারপর আমরা pd.DataFrame() পদ্ধতির ভিতরে একটি অভিধান পাস করব।

যেমনটি দেখা যায়, আমাদের ডেটা ফ্রেম দুটি কলাম 'A' নিয়ে গঠিত যা সংখ্যাসূচক মানগুলি [23, 35, 64, 74, 85] এবং 'B' মান সহ [45, 34, 61, 89, 27] সংরক্ষণ করে। এখন আমরা একটি ফাংশন তৈরি করব যা নির্ধারণ করবে আমাদের ডেটা ফ্রেমের প্রতিটি সারির উভয় কলামের মধ্যে কোন মানটি বেশি।

আপনি পাইথন ল্যাম্বডা ফাংশন 'পান্ডাস' ব্যবহার করতে পারেন। একটি এক্সপ্রেশন চালানোর জন্য DataFrame.apply()”। পাইথনে, একটি ল্যাম্বডা ফাংশন একটি কমপ্যাক্ট বেনামী ফাংশন যা যেকোনো সংখ্যক আর্গুমেন্ট গ্রহণ করে এবং একটি এক্সপ্রেশন চালায়। উপরের স্ক্রিপ্টে, আমরা একটি শর্ত বিবৃতি তৈরি করেছি যা উভয় কলামের মান তুলনা করবে এবং ফলাফলটিকে নতুন 'তুলনা' কলামে সংরক্ষণ করবে। কলাম 'A'-এর মান কলাম 'B'-এর মানের থেকে কম হলে, এটি 'B is greater' দেখাবে। শর্তটি সন্তুষ্ট না হলে এটি 'A বৃহত্তর' ফিরে আসবে।

উদাহরণ # 4:

অন্য ডেটা ফ্রেমের সাথে apply() ফাংশনের ভিতরে if-else স্টেটমেন্ট ব্যবহার করে আরেকটি উদাহরণ চেষ্টা করি।

ধরুন আমাদের ডেটা ফ্রেম কোনো কোম্পানির কর্মীদের রেকর্ড সংরক্ষণ করছে। কলাম 'emp' কর্মচারীদের নাম সংরক্ষণ করে [“ফ্র্যাঙ্কি”, “হ্যারি”, “লুক”, “পিটার”, “এন্ড্রু”], যেখানে কলাম 'বেতন' প্রতিটি কর্মচারীর বেতন সংরক্ষণ করে [1350, 1000, 900 , 1200, 980] 'df' ডেটা ফ্রেমে। এখন আমরা apply() পদ্ধতি ব্যবহার করে আমাদের if-else স্টেটমেন্ট তৈরি করব।

উপরের শর্তটি 'বেতন' কলামের প্রতিটি মান পরীক্ষা করবে এবং কর্মচারীদের বেতনে 200 যোগ করবে যেখানে বেতনের মান 1000 এর কম বা সমান। আমরা নতুন কলামে apply() ফাংশন থেকে ফিরে আসা মানগুলি সংরক্ষণ করেছি। বৃদ্ধি'. আসুন উপরের স্ক্রিপ্ট থেকে ফলাফল দেখুন।

আপনি দেখতে পাচ্ছেন, ফাংশনটি সফলভাবে 200টি 100-এর থেকে কম বা সমান মানগুলিতে যোগ করেছে৷ 1000-এর বেশি মানগুলি অপরিবর্তিত রয়েছে৷

উপসংহার:

এই টিউটোরিয়ালে, আমরা দেখেছি যে শর্তটি সন্তুষ্ট হলে, এই ধরনের একটি স্টেটমেন্ট, যাকে কেস স্টেটমেন্ট বলা হয়, একটি মান প্রদান করে। আমরা দেখেছি কিভাবে আপনি একটি প্রয়োজনীয় অপারেশন বা কাজ সম্পাদন করার জন্য একটি কেস স্টেটমেন্ট তৈরি করতে পারেন। এই টিউটোরিয়ালে, আমরা কেস স্টেটমেন্ট তৈরি করতে np.where() ফাংশন এবং apply() ফাংশন ব্যবহার করেছি। যেখানে () ফাংশন ব্যবহার করে কীভাবে পান্ডাস কেস স্টেটমেন্ট ব্যবহার করতে হয় এবং কেস স্টেটমেন্ট তৈরি করতে apply() ফাংশনটি কীভাবে ব্যবহার করতে হয় তা শেখানোর জন্য আমরা কয়েকটি উদাহরণ প্রয়োগ করেছি।