কম্পিউটার টিউটোরিয়াল

পাইথন পান্ডাস - লেভেলের নাম ব্যবহার করে মাল্টিইন্ডেক্সে শুধু একটি নির্দিষ্ট নতুন লেভেল সেট করুন

পাইথন পান্ডাসে MultiIndex-এ শুধু একটি নির্দিষ্ট লেভেলকে নতুন ভ্যালু দিয়ে আপডেট করতে MultiIndex.set_levels() মেথড ব্যবহার করা হয়। level প্যারামিটার দিয়ে লেভেলের নাম নির্দিষ্ট করা হয়।

প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন

import pandas as pd

মাল্টিইন্ডেক্স তৈরি করুন

arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

'student' লেভেলে নতুন ভ্যালু সেট করুন

level='student' ব্যবহার করে শুধু 'student' লেভেল আপডেট করা হয়েছে:

print("\nSet a new level in Multi-index...\n", multiIndex.set_levels(['Emma', 'Angelina', 'Scarlett', 'Jeni'], level='student'))

সম্পূর্ণ উদাহরণ

import pandas as pd

# অ্যারে তৈরি
arrays = [[1, 2, 3, 4], ['John', 'Tim', 'Jacob', 'Chris']]

# MultiIndex তৈরি
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))

# MultiIndex প্রদর্শন
print("The Multi-index...\n", multiIndex)

# লেভেলগুলো দেখুন
print("\nThe levels in Multi-index...\n", multiIndex.levels)

# 'student' লেভেলে নতুন ভ্যালু সেট করুন
print("\nSet a new level in Multi-index...\n", multiIndex.set_levels(['Emma', 'Angelina', 'Scarlett', 'Jeni'], level='student'))

আউটপুট

The Multi-index...
MultiIndex([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris')], names=['ranks', 'student'])
The levels in Multi-index...
[[1, 2, 3, 4], ['Chris', 'Jacob', 'John', 'Tim']]
Set a new level in Multi-index...
MultiIndex([(1, 'Scarlett'), (2, 'Jeni'), (3, 'Angelina'), (4, 'Emma')], names=['ranks', 'student'])

ব্যাখ্যা

  • মূল লেভেল 'student'-এর ভ্যালুগুলো ছিল: ['Chris', 'Jacob', 'John', 'Tim'] (সর্টেড ইউনিক ভ্যালু)।
  • নতুন লিস্ট: ['Emma', 'Angelina', 'Scarlett', 'Jeni'] — এটি সর্টেড ক্রমে দেওয়া হয়েছে (A, E, J, S)।
  • পান্ডাস নতুন লেভেলের ভ্যালুগুলো সর্টেড ক্রমে আশা করে, এবং কোডগুলো (codes) পুনঃগঠন করে।
  • ফলাফলে দেখানো হয়েছে: (1, 'Scarlett'), (2, 'Jeni'), (3, 'Angelina'), (4, 'Emma') — কারণ নতুন লেভেলের সর্টেড ক্রম অনুযায়ী কোডগুলো ম‍্যাপ হয়েছে।

গুরুত্বপূর্ণ: set_levels() মেথডটি লেভেলের ইউনিক ভ্যালুগুলো পরিবর্তন করে, ইনডেক্স এন্ট্রিগুলো সরাসরি পরিবর্তন করে না। কোডগুলো (integer codes) নতুন লেভেলের সাথে ম‍্যাপ হয়। যদি আপনি সরাসরি মানগুলো পরিবর্তন করতে চান, তবে set_codes() বা নতুন মাল্টিইন্ডেক্স তৈরি করুন।

  1. পাইথন - প্যান্ডাস ইনডেক্সের নতুন ভিউ (View) তৈরি করুন

  2. পাইথন প্যান্ডাস - ইতিমধ্যে তৈরি ইন্ডেক্স অবজেক্টের নাম সেট করা

  3. পাইথন - লেভেলের নাম ব্যবহার করে এক লেভেল সরিয়ে ইন্ডেক্স ফেরত দেওয়া

  4. পাইথন প্যান্ডাস - মাস্ক দিয়ে সেট করা ভ্যালুসহ নতুন ইন্ডেক্স ফেরত দেওয়া