পাইথন পান্ডাসে MultiIndex-কে কোনো নির্দিষ্ট লেভেল অনুযায়ী নিম্নক্রমে (descending order) সর্ট করতে MultiIndex.sortlevel() মেথড ব্যবহার করা হয়। level প্যারামিটার দিয়ে লেভেল নির্দিষ্ট করুন এবং ascending=False সেট করুন।
প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন
import pandas as pd
মাল্টিইন্ডেক্স তৈরি করুন
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
লেভেল ১-এ নিম্নক্রমে সর্ট করুন
print("\nSort MultiIndex at the requested level in descending order...\n", multiIndex.sortlevel(1, ascending=False))
সম্পূর্ণ উদাহরণ
import pandas as pd
# অ্যারে তৈরি
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob']]
# 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)
# লেভেল ১-এ নিম্নক্রমে সর্ট করুন
print("\nSort MultiIndex at the requested level in descending order...\n", multiIndex.sortlevel(1, ascending=False))
আউটপুট
The Multi-index...
MultiIndex([(2, 'Peter'), (4, 'Chris'), (3, 'Andy'), (1, 'Jacob')], names=['ranks', 'student'])
The levels in Multi-index...
[[1, 2, 3, 4], ['Andy', 'Chris', 'Jacob', 'Peter']]
Sort MultiIndex at the requested level in descending order...
(MultiIndex([(2, 'Peter'), (1, 'Jacob'), (4, 'Chris'), (3, 'Andy')], names=['ranks', 'student']), array([0, 3, 1, 2], dtype=int64))
ব্যাখ্যা
sortlevel(1, ascending=False)মানে: লেভেল ১ (student) অনুযায়ী নিম্নক্রমে সর্ট করুন।- ফলাফলটি একটি টাপল রিটার্ন করে: (সর্টকৃত মাল্টিইন্ডেক্স, নতুন পজিশনগুলো বোঝানোর একটি অ্যারে)।
- নিম্নক্রমে সর্ট হওয়ায় 'Peter' (P) -> 'Jacob' (J) -> 'Chris' (C) -> 'Andy' (A) ক্রমে সাজেছে।
- আরও প্যারামিটার:
sort_remaining=True(ডিফল্ট) বাকি লেভেলগুলোও সর্ট করে।
সতর্কতা: পান্ডাসের নতুন ভার্সনে sortlevel() ডিপ্রিকেটেড। বর্তমানে sort_index(level=..., ascending=...) ব্যবহার করা উচিত।