Tạo MultiIndex cho DataFrame bằng cách đặt cột làm chỉ mục bổ sung. Sử dụng set_index() với append=True.
Tạo DataFrame từ dictionary
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']
}
dataFrame = pd.DataFrame(d)
print("DataFrame gốc:\n", dataFrame)
Tạo MultiIndex
# Thêm cột "Car" vào chỉ mục (giữ nguyên cột Car với drop=False)
dataFrame.set_index(["Car"], inplace=True, append=True, drop=False)
print("\nMultiIndex:\n", dataFrame.index)
Kết quả
DataFrame gốc...
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:
MultiIndex(levels=[[0, 1, 2, 3, 4, 5], ['Audi', 'BMW', 'Bentley', 'Jaguar', 'Lexus', 'Mercedes']],
labels=[[0, 1, 2, 3, 4, 5], [1, 4, 0, 5, 3, 2]],
names=[None, 'Car'])
Giải thích
append=True: thêm vào chỉ mục hiện có (RangeIndex 0-5) thay vì thay thế.drop=False: giữ cột "Car" trong DataFrame (mặc định drop=True sẽ xóa cột).- Kết quả: MultiIndex 2 cấp: cấp 0 là chỉ số nguyên bản, cấp 1 là tên xe.
levelschứa giá trị duy nhất của mỗi cấp,labels(hoặccodestrong pandas mới) chỉ vị trí.