পাইথন পান্ডাসে MultiIndex-এর লেভেলগুলোকে নতুন ক্রমে সাজানোর জন্য MultiIndex.reorder_levels() মেথড ব্যবহার করা হয়। order প্যারামিটার দিয়ে নতুন লেভেলের ক্রম নির্দিষ্ট করা হয়।
প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন
import pandas as pd
মাল্টিইন্ডেক্স তৈরি করুন
তিনটি অ্যারে থেকে একটি মাল্টিইন্ডেক্স তৈরি করা হয়েছে যার লেভেলের নামগুলো হলো 'rank', 'student' এবং 'points':
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))
লেভেলগুলো পুনর্বিন্যাস করুন
order=[2, 0, 1] মানে নতুন ক্রম হবে: লেভেল ২ (points), লেভেল ০ (rank), লেভেল ১ (student):
print("\nReorder levels in MultiIndex...\n", multiIndex.reorder_levels(order=[2, 0, 1]))
সম্পূর্ণ উদাহরণ
import pandas as pd
# অ্যারে তৈরি
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
# MultiIndex তৈরি
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))
# MultiIndex প্রদর্শন
print("The MultiIndex...\n", multiIndex)
# লেভেলগুলো দেখুন
print("\nThe levels in MultiIndex...\n", multiIndex.levels)
# লেভেলগুলো পুনর্বিন্যাস করুন
print("\nReorder levels in MultiIndex...\n", multiIndex.reorder_levels(order=[2, 0, 1]))
আউটপুট
The MultiIndex...
MultiIndex([(2, 'Peter', 50), (4, 'Chris', 30), (3, 'Andy', 40), (1, 'Jacob', 70)], names=['rank', 'student', 'points'])
The levels in MultiIndex...
[[1, 2, 3, 4], ['Andy', 'Chris', 'Jacob', 'Peter'], [30, 40, 50, 70]]
Reorder levels in MultiIndex...
MultiIndex([(50, 2, 'Peter'), (30, 4, 'Chris'), (40, 3, 'Andy'), (70, 1, 'Jacob')], names=['points', 'rank', 'student'])
ব্যাখ্যা
- মূল ইনডেক্সে ক্রম ছিল:
rank → student → points reorder_levels(order=[2, 0, 1])কল করার পর নতুন ক্রম হয়েছে:points → rank → student- প্রতিটি টাপলের উপাদানগুলোও এই নতুন ক্রম অনুযায়ী সাজিয়ে ফেলা হয়েছে।
- লেভেলের নামগুলোও নতুন ক্রম অনুযায়ী পরিবর্তন হয়েছে।
এই মেথডটি ডেটা অ্যানালাইসিসের সময় বিভিন্ন দৃষ্টিকোণ থেকে ডেটা দেখার জন্য খুব উপকারী।