কম্পিউটার টিউটোরিয়াল

পাইথন পান্ডাস - মাল্টিইন্ডেক্সে কোড (প্রতিটি লেবেলের অবস্থান) পান

পাইথন পান্ডাসে 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 নামে পরিচিত ছিল।

  1. পাইথন প্যান্ডাস - অনুরোধকৃত লেবেলের জন্য ইন্টিজার লোকেশন পান এবং সঠিক মিল না থাকলে নিকটতম ইনডেক্স মান খুঁজুন

  2. পাইথন প্যান্ডাস - অনুরোধকৃত লেবেলের জন্য ইন্টিজার লোকেশন পান এবং সঠিক মিল না থাকলে পূর্ববর্তী ইনডেক্স মান খুঁজুন

  3. পাইথন প্যান্ডাস - অনুরোধকৃত লেবেলের জন্য ইন্টিজার লোকেশন পান

  4. পাইথন প্যান্ডাস - Period অবজেক্ট থেকে সেকেন্ড কম্পোনেন্ট (second component) পান