পাইথন পান্ডাসে MultiIndex-এ থেকে একাধিক লেভেল সরিয়ে ফেলার জন্য MultiIndex.droplevel() মেথড ব্যবহার করা হয়। যে লেভেলগুলো সরাতে হবে তাদের নাম একটি লিস্ট হিসেবে পাস করতে হয়।
প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন
import pandas as pd
মাল্টিইন্ডেক্স তৈরি করুন
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))
দুইটি লেভেল সরিয়ে দিন
droplevel(['rank', 'student']) ব্যবহার করে rank এবং student লেভেলগুলো সরিয়ে শুধু points লেভেল রাখা হয়েছে:
print("\nMulti-index after dropping two levels...\n", multiIndex.droplevel(['rank', 'student']))
সম্পূর্ণ উদাহরণ
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 Multi-index...\n", multiIndex)
# লেভেলগুলো দেখুন
print("\nThe levels in Multi-index...\n", multiIndex.levels)
# 'rank' এবং 'student' লেভেলগুলো সরিয়ে দিন
print("\nMulti-index after dropping two levels...\n", multiIndex.droplevel(['rank', 'student']))
আউটপুট
The Multi-index...
MultiIndex([(2, 'Peter', 50), (4, 'Chris', 30), (3, 'Andy', 40), (1, 'Jacob', 70)], names=['rank', 'student', 'points'])
The levels in Multi-index...
[[1, 2, 3, 4], ['Andy', 'Chris', 'Jacob', 'Peter'], [30, 40, 50, 70]]
Multi-index after dropping two levels...
Int64Index([50, 30, 40, 70], dtype='int64', name='points')
ব্যাখ্যা
- মূল মাল্টিইন্ডেক্সে তিনটি লেভেল ছিল:
rank,student,points droplevel(['rank', 'student'])কল করার পর শুধুpointsলেভেল বাকি থাকলো।- ফলাফলটি একটি Int64Index রিটার্ন করেছে, কারণ শুধু এক লেভেল বাকি থাকলে সেটি সাধারণ ইনডেক্সে রূপান্তরিত হয়।
- আপনি লেভেলের নামের বদলে ইনডেক্সও ব্যবহার করতে পারেন:
droplevel([0, 1])।
এই মেথডটি ডেটা এনালাইসিসের সময় অপ্রয়োজনীয় লেভেল সরিয়ে ডেটা সিম্পলিফাই করার জন্য খুব উপকারী।