স্তরের নামগুলি ব্যবহার করে সরানো একাধিক স্তর সহ মাল্টি ইনডেক্স ফেরত দিতে, MultiIndex.droplevel() ব্যবহার করুন পদ্ধতি এবং আর্গুমেন্ট হিসাবে সরানোর জন্য একাধিক স্তর (স্তরের নাম) সেট করুন৷
প্রথমে, প্রয়োজনীয় লাইব্রেরিগুলি আমদানি করুন -
import pandas as pd
মাল্টি-ইন্ডেক্স হল পান্ডাস অবজেক্টের জন্য একটি মাল্টি-লেভেল, বা হায়ারার্কিক্যাল, ইনডেক্স অবজেক্ট। অ্যারে তৈরি করুন -
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
"নাম" প্যারামিটার প্রতিটি সূচক স্তরের জন্য নাম সেট করে। from_arrays() একটি মাল্টি ইনডেক্স −
তৈরি করতে ব্যবহৃত হয়multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points')) মাল্টি ইনডেক্স থেকে একটি নির্দিষ্ট স্তর বাদ দিন। ড্রপ করা স্তরগুলি প্যারামিটারে স্তরের নাম হিসাবে সেট করা হয় যেমন স্তরের নাম 'ছাত্র' এবং 'র্যাঙ্ক' বাদ দেওয়া হয় −
print("\nMulti-index after dropping two levels...\n",multiIndex.droplevel(['rank', 'student']))
উদাহরণ
নিম্নলিখিত কোড -
import pandas as pd
# MultiIndex is a multi-level, or hierarchical, index object for pandas objects
# Create arrays
arrays = [[2, 4, 3, 1], ['Peter', 'Chris', 'Andy', 'Jacob'], [50, 30, 40, 70]]
# The "names" parameter sets the names for each of the index levels
# The from_arrays() is used to create a MultiIndex
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('rank', 'student', 'points'))
# display the MultiIndex
print("The Multi-index...\n",multiIndex)
# get the levels in MultiIndex
print("\nThe levels in Multi-index...\n",multiIndex.levels)
# Drop a specific level from MultiIndex
# The levels to be dropped is set as the level names in parameter i.e.
# level name 'student' and 'rank' gets dropped
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')