প্যান্ডাস ডেটাফ্রেমের ইনডেক্সকে মাল্টি-ইনডেক্স (MultiIndex) আকারে দেখানোর জন্য set_index() মেথড ব্যবহার করা হয়, যেখানে append=True প্যারামিটার দিয়ে বিদ্যমান ইনডেক্সের সাথে নতুন কলামকে যোগ করা হয়।
উদাহরণ
import pandas as pd
# ডিকশনারি থেকে ডেটাফ্রেম
d = {
'Car': ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
'Date_of_purchase': ['2020-10-10', '2020-10-12', '2020-10-17', '2020-10-16', '2020-10-19', '2020-10-22']
}
df = pd.DataFrame(d)
print("মূল ডেটাফ্রেম:")
print(df)
# 'Car' কলামকে ইনডেক্স হিসেবে যোগ করা (append=True)
df.set_index(["Car"], inplace=True, append=True, drop=False)
print("\nমাল্টি-ইনডেক্স:")
print(df.index)
আউটপুট
মূল ডেটাফ্রেম:
Car Date_of_purchase
0 BMW 2020-10-10
1 Lexus 2020-10-12
2 Audi 2020-10-17
3 Mercedes 2020-10-16
4 Jaguar 2020-10-19
5 Bentley 2020-10-22
মাল্টি-ইনডেক্স:
MultiIndex([(0, 'BMW'),
(1, 'Lexus'),
(2, 'Audi'),
(3, 'Mercedes'),
(4, 'Jaguar'),
(5, 'Bentley')],
names=[None, 'Car'])
ব্যাখ্যা
append=True— বিদ্যমান ইনডেক্স (০, ১, ২...) রক্ষা করে নতুন ইনডেক্স লেভেল যোগ করেdrop=False— 'Car' কলাম ডেটাফ্রেমে রাখে (ড্রপ করে না)inplace=True— মূল ডেটাফ্রেমই পরিবর্তন করে- ফলাফল: ২-লেভেল মাল্টি-ইনডেক্স (অরিজিনাল ইনডেক্স + Car)
বিকল্প: সরাসরি MultiIndex তৈরি
# একসাথে একাধিক কলাম থেকে মাল্টি-ইনডেক্স
df = df.set_index(['Car', 'Date_of_purchase'])
# অথবা
df.index = pd.MultiIndex.from_arrays([df['Car'], df['Date_of_purchase']], names=['Car', 'Date'])
এই পদ্ধতিগুলো সরাসরি ২-লেভেল মাল্টি-ইনডেক্স তৈরি করে, যা সাধারণত বেশি ব্যবহারিক।