পাইথন পান্ডাসে MultiIndex-এর লেভেলের নামগুলো পেতে MultiIndex.names প্রপার্টি ব্যবহার করা হয়।
প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন
import pandas as pd
মাল্টিইন্ডেক্স তৈরি করুন
arrays = [[1, 2, 3, 4, 5], ['John', 'Tim', 'Jacob', 'Chris', 'Keiron']]
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
লেভেলের নামগুলো পান
print("\nThe names of levels in Multi-index...\n", multiIndex.names)
সম্পূর্ণ উদাহরণ
import pandas as pd
# অ্যারে তৈরি
arrays = [[1, 2, 3, 4, 5], ['John', 'Tim', 'Jacob', 'Chris', 'Keiron']]
# MultiIndex তৈরি
multiIndex = pd.MultiIndex.from_arrays(arrays, names=('ranks', 'student'))
# MultiIndex প্রদর্শন
print("The Multi-index...\n", multiIndex)
# লেভেলের নামগুলো পান
print("\nThe names of levels in Multi-index...\n", multiIndex.names)
# লেভেলগুলো দেখুন
print("\nThe levels in Multi-index...\n", multiIndex.levels)
আউটপুট
The Multi-index...
MultiIndex([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris'), (5, 'Keiron')], names=['ranks', 'student'])
The names of levels in Multi-index...
['ranks', 'student']
The levels in Multi-index...
[[1, 2, 3, 4, 5], ['Chris', 'Jacob', 'John', 'Keiron', 'Tim']]
ব্যাখ্যা
namesপ্রপার্টি একটি পাইথন লিস্ট রিটার্ন করে যাতে প্রতিটি লেভেলের নাম থাকে।- যদি মাল্টিইন্ডেক্স তৈরি করার সময়
namesপ্যারামিটার না দেওয়া হয়, তবে ডিফল্টভাবে[None, None, ...]রিটার্ন করবে। - লেভেলের নাম থাকলে ডেটা অ্যাক্সেস এবং ম্যানিপুলেশন অনেক সহজ হয় (যেমন:
multiIndex.get_loc_level('student'))।
লেভেলের নাম সেট/পরিবর্তন করুন
# তৈরি করার সময়
multiIndex = pd.MultiIndex.from_arrays(arrays, names=['level1', 'level2'])
# পরে পরিবর্তন করতে
multiIndex.names = ['new_name1', 'new_name2']
# অথবা
multiIndex = multiIndex.set_names(['new_name1', 'new_name2'])
names প্রপার্টি রিড-ওনلی নয়, আপনি সরাসরি এসাইন করতে পারেন। তবে set_names() মেথড ব্যবহার করা ভালো প্র্যাক্টিস কারণ এটি নতুন অবজেক্ট রিটার্ন করে (ইমিউটেবল প্যাটার্ন)।