পাইথন পান্ডাসে MultiIndex-এ প্রতিটি লেবেলের অবস্থান (integer codes) পেতে MultiIndex.codes প্রপার্টি ব্যবহার করা হয়।
প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন
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 location of each label in Multi-index...\n", multiIndex.codes)
সম্পূর্ণ উদাহরণ
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 levels in Multi-index...\n", multiIndex.levels)
# প্রতিটি লেবেলের অবস্থান (কোড) পান
print("\nThe location of each label in Multi-index...\n", multiIndex.codes)
আউটপুট
The Multi-index...
MultiIndex([(1, 'John'), (2, 'Tim'), (3, 'Jacob'), (4, 'Chris'), (5, 'Keiron')], names=['ranks', 'student'])
The levels in Multi-index...
[[1, 2, 3, 4, 5], ['Chris', 'Jacob', 'John', 'Keiron', 'Tim']]
The location of each label in Multi-index...
[[0, 1, 2, 3, 4], [2, 4, 1, 0, 3]]
ব্যাখ্যা
codesপ্রপার্টি একটি লিস্ট অফ লিস্ট রিটার্ন করে, যেখানে প্রতিটি সাব-লিস্ট একটি লেভেলের কোডগুলো ধারণ করে।- লেভেল ০ (
ranks): ইউনিক ভ্যালু [1,2,3,4,5] — কোড [0,1,2,3,4] (সিকোয়েন্সে থাকায়)। - লেভেল ১ (
student): ইউনিক ভ্যালু ['Chris','Jacob','John','Keiron','Tim'] (সর্টেড) — কিন্তু আসল সিকোয়েন্সে: 'John'(ইন্ডেক্স ২), 'Tim'(৪), 'Jacob'(১), 'Chris'(০), 'Keiron'(৩) — তাই কোড [2, 4, 1, 0, 3]। - কোডগুলো ০-ভিত্তিক ইনডেক্স যা
levelsলিস্টের পজিশন বোঝায়।
কেন কোড গুরুত্বপূর্ণ?
- মেমরি দক্ষ: ইন্টিজার কোড সংরক্ষণ করা স্ট্রিং সংরক্ষণের চেয়ে সস্তা।
- দ্রুত লুকআপ: ইন্টিজার তুলনা স্ট্রিং তুলনার চেয়ে দ্রুত।
- অন্তর্নিহিত রিপ্রেজেন্টেশন: পান্ডাস মাল্টিইন্ডেক্স স্ট্রাকচার্যালি (levels + codes) সংরক্ষিত হয়।
নোট: পুরনো পান্ডাস ভার্সনে এটি labels নামে পরিচিত ছিল।